SpringBoot 1.2.0.RELEASE 부터 추가된 @SpringBootApplication.

/**
 * Indicates a {@link Configuration configuration} class that declares one or more
 * {@link Bean @Bean} methods and also triggers {@link EnableAutoConfiguration
 * auto-configuration} and {@link ComponentScan component scanning}. This is a convenience
 * annotation that is equivalent to declaring {@code @Configuration},
 * {@code @EnableAutoConfiguration} and {@code @ComponentScan}.
 *
 * @author Phillip Webb
 * @since 1.2.0
 */
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@Configuration
@EnableAutoConfiguration
@ComponentScan
public @interface SpringBootApplication {

}

1.1.9.RELEASE 까지는 Application Endpoint에 클래스에

@Configuration
@EnableAutoConfiguration
@ComponentScan
public class Application{
//...
}

3개 애노테이션을 사용해야했던 것을 하나로 줄여주었다.


[File - New - Spring Starter Project]를 선택하면 다음의 창이 뜬다. 

다음[Next]을 누르면 spring starter를 다운로드 받는다. Spring Boot를 이용해서 starter 프로젝트를 다운로드 받고 프로젝트를 구성한다.

 


이 spring-starter의 핵심은 @EnableAutoConfiguration 이다.

이 Spring starter 의 핵심은 @EnableAutoConfiguration 이지 싶다. 프로젝트에 사용되는 @Annotation의 타입을 스캔해서 관련된 라이브러리를 자동으로 추가하여 구동시키는 것으로 보여진다. 오늘 잠깐 살펴보며 짐작한 것은 그렇다.

[Run as - Spring Boot App]을 선택하면 자동으로 실행된다.


+ Recent posts