본문 바로가기

명사 美 비격식 (무리 중에서) 아주 뛰어난[눈에 띄는] 사람[것]

JAVA/Spring

Annotation - @SpringBootApplication

@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