@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
Annotation - @SpringBootConfiguration
@SpringBootConfiguration @Configuration 어노테이션의 특수한 경우 Spring Boot 애플리케이션에서는 일반적으로 @Configuration 어노테이션이 구성 클래스를 나타내는데, @SpringBootConfiguration은 @Configuration 어노테
standout.tistory.com
https://standout.tistory.com/487
Annotation - @EnableAutoConfiguration
@EnableAutoConfiguration Spring Boot 애플리케이션에서 다양한 라이브러리들의 자동 구성을 활성화 @SpringBootApplication @EnableAutoConfiguration public class MyApp { public static void main(String[] args) { SpringApplication.run(MyA
standout.tistory.com
https://standout.tistory.com/485
Annotation - @ComponentScan
@ComponentScan 지정된 패키지 및 하위 패키지에서 기본적으로 어플리케이션의 메인 클래스에 선언. Spring Component로 등록되어야 하는 클래스들을 검색한다. = @Component, @Service, @Repository, @Controller, @Conf
standout.tistory.com
'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 |