스프링의 특징
- 의존성 주입(DI : Dependency Injection)
각각의 계층이나 서비스들 간에 의존성이 존재하는 경우 프레임워크가 서로 연결해줌
- AOP(Aspect - Oriented Programming)
트랜잭션이나 로깅, 보안과 같이 여러 모듈에서 공통적으로 사용하는 기능의 경우 분리해서 관리가능
-MVC(모델2) 패턴 지원
- JDBC, JPA등 DB연동 지원
- 경량 컨테이너
각각 객체의 생성, 소멸과 같은 라이프사이클을 관리하고 스프링으로부터 필요한 객체를 얻어올 수 있다.
- 제어 역행(IoC : Inversion of Control)
애플리케이션의 느슨한 결함을 도모
컨트롤의 제어권이 사용자가 아닌 프레임워크에 있어 필요에 따라 스프링에서 사용자의 코드를 호출한다.
빌드
프로젝트를 위해 작성한 java코드나 여러 자원들(xml, jar, properties)를 JVM이나 톰캣같은 WAS가 인식할 수 있는 구조로 패키징하는 과정 및 결과물
빌드툴
Maven과 Gradle
Maven은 자바용 프로젝트 관리도구로 Apache사에서 만든 빌드 툴
pom.xml파일을 통해 정형화된 빌드 시스템으로 프로젝트 관리를 해준다.
필요한 라이브러리를 pom.xml에 정의해두면 내가 사용할 라이브러리뿐만 아니라
해당 라이브러리가 작동하는데 필요한 다른 라이브러리까지 관리하여 네트워크를 통해 자동으로 다운로드 해준다.
심부름꾼이라고 볼 수 있음.
필요한걸 pom.xml에 적어두면 메이븐이 네트워크를 통해 라이브러리를 담아와서 다운로드 해주기 때문에!
Maven의 특징
빌드과정을 쉽게 만든다.
정형화된 빌드시스템 제공
Maven은 pom과 플러그인을 세트로 사용하여 프로젝트를 빌드한다.
양질의 프로젝트 정보 제공
더 나은 개발가능
장점
편리한 의존성 라이브러리
정해진 빌드 방법을 사용하여 협업에서 유리하게 사용한다.
다양한 플러그인을 통해 많은 작업이 자동화됨
pom.xml
Project Object Model의 약자로 프로젝트의 다양한 정보를 처리하기 위한 객체 모델
pom.xml에는 프로젝트 관리 및 빌드에 필요한 환경설정, 의존성 관리 등의 정보를 기술한다.
sts 다운로드
Spring Tool Suite 3
the distribution build for the Spring Tool Suite and the Groovy/Grails Tool Suite - spring-attic/toolsuite-distribution
github.com

톰캣 다운로드

sts실행 - 톰캣등록


선택 후 finish
필요시 포트넘버 수정가능

Window - Preferences - Run/Debug - Console - Limit console output 체크 해제 - Apply

Window - Preferences - General - Workspace - text file encoding - UTF-8선택

Window - Preferences - General - Web Browser - Use external web browser - Chrome 선택

그외
Window - Preferences - Web - CSS Files - Encoding UTF-8 선택
Window - Preferences - Web - HTML Files - Encoding UTF-8 선택
Window - Preferences - Web - JSP Files - Encoding UTF-8 선택
스프링 프로젝트 생성



각 파일의 기능

pom.xml
일부수정

...

home.jsp
해당내용 추가

실행시 한글깨짐없음

'Spring' 카테고리의 다른 글
[Spring] JsonMaker (1) | 2023.11.23 |
---|---|
[Spring] 파일업로드 (+방명록에 적용) (1) | 2023.11.23 |
[Spring] 방명록 만들기 (1) | 2023.11.21 |
[Spring] 부서조회하기 (0) | 2023.11.18 |
[Spring] 롬복(LOMBOK) (0) | 2023.11.16 |