
스프링을 더 빠르고 쉽게 사용하기 위한 도구로써 스타터를 제공한다.
아래 클래스는 자바의 main() 메서드와 같은 역할을 한다.
@SpringBootApplication
public class SpringBootDeveloperApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBootDeveloperApplication.class, args);
}
}
@SpringBootApplication 애너테이션의 구성을 살펴보자
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan(excludeFilters = { @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
@Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
public @interface SpringBootApplication {
...}
여기서 주의 깊게 봐야하는 부분은 다음과 같다
1. @SpringBootConfiguration : 스프링 부트 관련 설정을 나타냄
2. @EnableAutoConfiguration : 스프링 부트 자동 구성 활성화 > 메타파일 읽고 설정 자동 구성
3. @ComponentScan : 사용자가 등록한 빈을 읽고 등록
이 어노테이션이 있는 클래스는 bean으로 등록된다.