在Spring中,如果有两个bean id引用同一个类,并且我们只想从一个bean中注入值,那么我们通常会结合使用以下注释:
@Autowired
@Qualifier("bean1")
如何使用xml规范实现相同的功能?在xml中使用限定符注释的替代方法是什么?
答案 0 :(得分:1)
不是一个确切的替代方案,但您可以将autowire-candidate="false"
用于要排除自动装配的那些bean,而不是要自动装配的那些bean。
您还需要通过明确标记primary="true"
和primary="false"
来确定有资格进行自动装配的特定豆类。
因此,当您希望bean1
自动装配时,您的xml配置应如下所示<bean id="bean1" class="x.y.z.ClassA" primary="true" autowire-candidate="true"/>
<bean id="bean2" class="x.y.z.ClassA" primary="false" autowire-candidate="false"/>
<bean id="bean3" class="x.y.z.ClassA" primary="false" autowire-candidate="false"/>
请注意autowire-candidate
和{{1} } {是primary
代码的属性,默认值为beans
。