使用 CustomAutowireConfigurer

CustomAutowireConfigurer 是一個 BeanFactoryPostProcessor,可讓您註冊自己的自訂限定詞註解類型,即使它們未使用 Spring 的 @Qualifier 註解進行註解。以下範例展示如何使用 CustomAutowireConfigurer

<bean id="customAutowireConfigurer"
		class="org.springframework.beans.factory.annotation.CustomAutowireConfigurer">
	<property name="customQualifierTypes">
		<set>
			<value>example.CustomQualifier</value>
		</set>
	</property>
</bean>

AutowireCandidateResolver 通過以下方式確定自動裝配候選者:

  • 每個 Bean 定義的 autowire-candidate

  • <beans/> 元素上可用的任何 default-autowire-candidates 模式

  • @Qualifier 註解的存在以及使用 CustomAutowireConfigurer 註冊的任何自訂註解

當多個 Bean 符合自動裝配候選者的資格時,「主要」候選者的確定方式如下:如果候選者中恰好有一個 Bean 定義的 primary 屬性設定為 true,則選擇該 Bean。