스프링/스프링부트개념과 활용

자동설정이해

bbangduck 2023. 4. 27. 15:30

@SpringBootApplication 

-> 1. @SpringBootConfiguration 2. @ComponentScan.  3. @EnableAutoConfiguration

  

빈등록은 2단계로 나눠져 있다.

1단계: @ComponentScan

2단계: @EnableAutoConfiguration

 => 위 3개의 애노테이션 중 @EnableAutoConfiguration이 없어도 스프링부트는 작동한다.

단, 웹 애플리케이션으로 띄울 수는 없음

해당 애노테이션이 SevletWebServerFactory 빈을 만들기 때문

 

 

@ComponentScan은 아래와 같은 애노테이션을 스캔

- @Component

- @Configuration @Repository @Service @Controller @RestController

 

 

@EnableAutoConfiguration 

- spring.factories

 org.springframework.boot.autoconfigure.EnableAutoConfiguration

 - @Configuration
 -  @ConditionalOnXxxYyyZzz

예시)

 

spring-autoconfiguration-metadate.properties 파일
spring.factories 파일

spring.factories 파일과 spring-autoconfigure-metadata.properties 파일은 모두 스프링 부트 자동 구성(auto-configuration)을 구현하기 위해 사용되는 파일

spring.factories 파일은 org.springframework.boot.autoconfigure.EnableAutoConfiguration의 구현체를 나열하여 자동 구성을 활성화하는 방법을 제공

반면에 spring-autoconfigure-metadata.properties 파일은 자동 구성이 제공하는 구성 속성(configuration properties)을 설명하는 데 사용

이 파일은 자동 구성 메타데이터에 대한 정보를 담고 있으며, 자동 구성에서 사용되는 구성 속성의 이름, 타입, 기본값 및 설명 등의 정보를 포함

따라서 spring.factories는 자동 구성을 활성화하는 방법을, spring-autoconfigure-metadata.properties는 자동 구성 메타데이터를 정의하는 방법을 제공

두 파일 모두 스프링 부트의 자동 구성에 필수적

'스프링 > 스프링부트개념과 활용' 카테고리의 다른 글

의존성 관리 응용  (0) 2023.03.31
의존성 관리 이해  (0) 2023.03.30