Spring Boot 개요
Spring Boot란?
- Spring 프로젝트에서 제공하는 다양한 라이브러리와 프레임워크로 빨리게 사용할 수 있게 하는 프레임워크이다.
- Dropwizard의 Spring 버전 같은 것이다.
- 빌드하면 단일 jar 파일이 생긴다.
- Web 어플리케이션의 경우, 내장 Tomcat을 시작 (Jetty와 Undertow로 전환 가능).
- Web 응용 프로그램이 아니라 보통의 Java 프로그램으로도 동작하게 할 수 있다.
- Maven이나 Gradle 같은 빌드 도구를 사용한다. (Ant로는 불가능하다)
- 사용하려는 컨포넌트를 종속적으로 추가하면 결합에 필요한 설정이 자동으로 이루어진다.
- 스프링 응용프로그램을 독립적으로 작성, 빌드, 실행할 수 있으며 Embedded Tomcat, jetty 사용 이 가능하므로 WAR 파일로 묶어서 배포할 필요가 없다.
- Tomcat이나 Jetty가 내장되어 프로젝트를 .jar 파일 형태로 간단히 배포할 수 있다.
- 복잡한 xml 설정을 간소화 하여 어노테이션 기반의 java config로 교체하여 쉬운 서버 설정이 가능하다.
- Django 나 ruby on rails 처럼 빠르게 웹 프로젝트를 만들 수 있게 한다.
Spring Boot 자동 설정
@SpringBootApplication
@Configuration
,@EnableAutoConfiguration
그리고@ComponentScan
을 디폴트로 함께 사용하겠다는 뜻이다.
@Configuration
- 클래스 위에 선언 - 클래스 내에 하나이상의 @Bean 메소드를 제공하고 스프링 컨테이너가 해당 Bean들을 생성/관리 하게 한다.
@EnableAutoConfiguration
- embedded Tomcat 서버 세팅, spring mvc의 DispatcherServlet 자동 등록 등 여러가지 기본 설정 작업을 해준다.@ComponentScan
@Component
및@Service
,@Repository
,@Contoller
가 부여된 class들을 자동으로 scan하여 Bean으로 등록 해준다.
최종 수정 : 2017-12-17