49.1 자동 구성된 빈 이해하기 by sh

자동 구성은 표준 @Configuration 클래스로 구현됩니다. 추가적인 @Conditional 어노테이션은 자동 구성이 적용되어야 할 때를 제한하는 데 사용됩니다. 일반적으로 자동 구성 클래스는 @ConditionalOnClass 및 @ConditionalOnMissingBean 어노테이션을 사용합니다. 이렇게하면 관련 클래스가 발견되고 자신의 @Configuration을 선언하지 않은 경우에만 자동 구성이 적용됩니다.

@Conditional 어노테이션에서 파생된 어노테이션들

-> 특징: 어노테이션 메나데이터로 클래스를 입력 받는다!

  • @ConditionalOnClass : 특정 클래스 파일이 존재하면 Bean을 등록 (해당 클래스가 있는 지를 검사하는 조건 어노테이션)

  • @ConditionalOnMissingBean : 특정 Bean이 존재하지 않을 때 실행되는 어노테이션 (<-> @ConditionalOnBean : 특정 Bean이 존재할 때 실행되는 어노테이션)

spring-boot-autoconfigure의 소스 코드를 살펴봄으로써 Spring이 제공하는 @Configuration 클래스를 볼 수 있습니다. (META-INF / spring.factories 파일 참조).

Last updated