Spring

[Spring Boot] 자동 설정

charminseok 2021. 2. 12. 00:14

@SpringBootApplication 어노테이션에 @ComponentScan, @EnableAutoConfiguration이 있어서 자동적으로 웹 애플리케이션으로 된다.

먼저 @ComponentScan이 빈을 등록하고 @EnableAutoConfiguration에서는 spring.factories에 있는 Configuration중 조건에 맞는 것으로 적용되어 빈이 생성된다.

 

자동 설정 만드는 방법

  1. 의존성 추가
  2. @Configuration 파일 작성
  3. spring.factories 파일 만들기
  4. spring.factories. 자동설정 파일 추가
  5. mvn install

프로젝트에서 자동설정을 가져왔을때, 직접 만든 빈이 있는데 덮어쓰기가 되는 문제가 생기는데 이를 해결하기 위한 방법으로 자동설정 프로젝트의 빈에 @ConditionalOnMissingBean을 추가해 준다. 

@ConditionalOnMissingBean은 같은 타입의 빈이 없을 경우에 빈으로 등록해 준다.

 

하지만 빈을 직접 등록하지 않고 프로퍼티를 사용할 수 있다.(@EnableConfigurationProperties(), application.properties 안에 직접 값을 입력하면 된다.)