@ConditionalOnBean
Reference: Spring Docs - @ConditionalOnBean
@ConditionalOnBean 란?
해당 조건의 Bean이 BeanFactory에 이미 등록되어 있으면 Bean을 등록한다
왜 쓰는가!
작업을 위해 필수적으로 필요한 bean이 미리 생성되어 있는지 확인할 때 사용!
@ConditionalOnBean 사용 방법
Class Level에 해당 annotation을 추가하여 설정 Class 자체가 Bean 등록 조건에 따라 활성화 / 비활성화될 수 있게 한다
Method Level에 해당 annotation을 추가하여 해당 method를 포함하는 Bean이 Bean Factory에 등록되거나 Spring Context에 생성될 조건을 지정한다
@ConditionalOnBean 속성
Optional Elements
value
- Class<?>[]검증하고자 하는 Bean의 class type들
name
- String[]검증하고자 하는 Bean 이름들을 지정
annotation
- Class <? extends Annotation>[]검증하고자 하는 Bean에 적용된 annotation들을 지정
type
- String[]검증하고자하는 Bean의 type들을 지정
search
- SearchStrategyBean의 검색을 제한하는 방법을 설정
default 값
SearchStrategy.ALL
: 현재 context와 부모 context 모두 검색
그 외 값
SearchStrategy.CURRENT
: 현재 context만 검색SearchStrategy.PARENTS
: 부모 context만 검색
parameterizedContainer
- Class<?>[]Generic Bean의 존재 여부에 따라 조건을 설정
ex)
Spring Context에 List type의 generic bean이 존재하는지 확인하는 조건을 설정
Last updated