@SpringBootApplication
세 가지 Spring 어노테이션이 조합된 메타 어노테이션
= @Configuration, @EnableAutoConfiguration, @ComponentScan 3가지를 하나의 애노테이션으로 합친 것
어플리케이션 자동 구성 및 컴포넌트 검색을 위한 기본 설정을 모두 포함
단독으로, 조합으로 사용될 수 있다.
@SpringBootApplication
@ComponentScan(basePackages = "com.example.myapp")
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.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 {
// ...
}
그중 아래 세개가 핵심 애너테이션이다.
@SpringBootConfiguration: Spring Boot 환경에서의 설정을 제공
@EnableAutoConfiguration: Spring Boot의 자동 구성을 활성화
@ComponentScan: Spring Boot 애플리케이션에서 컴포넌트 스캔을 수행
https://standout.tistory.com/488
https://standout.tistory.com/487
https://standout.tistory.com/485
'JAVA > Spring' 카테고리의 다른 글
Annotation - @SpringBootConfiguration (0) | 2023.04.20 |
---|---|
Annotation - @EnableAutoConfiguration (0) | 2023.04.20 |
Annotation - @ComponentScan (0) | 2023.04.20 |
Annotation - @Configuration (0) | 2023.04.20 |
Annotation - @Repository (0) | 2023.04.19 |