[스프링부트] 프로젝트 구성(생성) 및 작동 원리
스프링 부트 프로젝트를 구성하는 방법은 크게 두 가지가 있습니다.
첫번째, 스프링 이니셜라이저를 이용하는 방법
두번째, STS를 사용하여 직접 프로젝트를 구성하는 방법
1. 스프링 이니셜라이저(Spring Initializer) : IDE 업이도 필요한 의존체를 모두 가져와 온전한 프로젝트를 구성하는 도구.
링크 : start.spring.io/
2. 스프링 도구 모음(STS)
STS 다운로드 링크 : spring.io/tools
- 스프링 스타터 프로젝트 마법사
1. 프로젝트 타입(메이븐 or 그레이들)
2. 자바 버전
3. 프로그래밍 언어(자바 or 그루비)
4. 메이븐 관련 정보 입력
5. 의존체 선택 : Web - Spring Web
6. (생략 가능) 요약 페이지 확인 후 'Finish'
- STS는 스프링부트를 기본 지원하므로
application.properties 및 application.yml 파일에서 코드 완성 기능,
기타 클라우드 등 다양한 지원을 받을 수 있음.
○ 테스트 앱 개발
[의존체 선택]
- 웹(Web), 템플릿 엔진(타임리프), 데이터(JPA), 데이터베이스(H2) 사용
- 인메모리 DB인 H2와 JPA 사용
※ 스프링 부트 작동 원리
1. @SpringBootApplication = @Configuration + @EnableAutoConfiguration + @ComponentScan
=> 구성 파일없이 단순하게 가져갈 수 있는 장점.
이 중 @EnableAutoConfiguration은 스프링 부트를 움직이는 원동력임.
클래스 패스, 애너테이션, 구성 파일을 보고 가장 적절한 앱에 가장 알맞은 기술을 넣어 구성을 마침.
즉, 전체 애플리케이션 컴포넌트를 식별
2. 톰캣 서버는 spring-boot-starter-web의 의존체 중 하나이므로 톰캣으로 앱을 띄움.
일단, 스프링 부트로 웹 애플리케이션을 생성할 떄마다 톰캣 서버는 반드시 내장 된다는 것을 기억.
물론, 톰캣을 들어내고 제티(Jetty), 언더토우(Undertow) 등 다른 서버들 대신 사용 가능.
cf) 단독형 앱 사용법
$ mvn package : 해당 메이븐 명령어 실행 후 target 폴더에 JAR 파일이 생성됨.
$ java -jar xxx.jar : 해당 jar 파일 실행