SpringFramework Core - I. IoC 컨테이너/9. 어노테이션 기반의 컨테이너 설정
9.6. CustomAutowireConfigurer 사용하기
NoodleMan
2020. 4. 13. 10:35
CustomAutowireConfigurer는 BeanFactoryPostProcessor이다. CustomAutowireConfigurer는 스프링의 @Qualifier 어노테이션이 붙지 않았더라도 여러분의 커스텀한 수식자 어노테이션 타입들을 등록할 수 있게 해준다. 다음 예시는 CustomAutowireConfigurer의 사용법을 보여준다.
<bean id="customAutowireConfigurer"
class="org.springframework.beans.factory.annotation.CustomAutowireConfigurer">
<property name="customQualifierTypes">
<set>
<value>example.CustomQualifier</value>
</set>
</property>
</bean>
AutowireCandidateResolver는 autowire 후보들을 다음과 같이 결정한다.
- 각 bean 정의의 autowire-candidate 값
- <beans/>요소에서 사용가능한 default-autowire-candidates 패턴들
- @Qualifier 어노테이션들과 CustomAutowireConfigurer를 통해 등록된 커스텀한 어노테이션들
여러 bean들이 autowire의 후보가 될 때는 다음과 같이 "최우선순위"가 결정된다. 만약 후보들 가운데 primary 속성이 true인 bean 정의가 정확히 하나 있다면, 그것이 선택되는 것이다.