스마트웹앱콘텐츠전문가/프레임워크

[스프링부트] 프로젝트 구성(생성) 및 작동 원리

9D4U 2020. 11. 10. 17:24
728x90
반응형

스프링 부트 프로젝트를 구성하는 방법은 크게 두 가지가 있습니다.

첫번째, 스프링 이니셜라이저를 이용하는 방법

두번째, 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 파일 실행
728x90