在Spring中使用XML中的限定符注释的替代方法是什么?

时间:2014-11-21 09:50:02

标签: java spring dependency-injection autowired

在Spring中,如果有两个bean id引用同一个类,并且我们只想从一个bean中注入值,那么我们通常会结合使用以下注释:

@Autowired
@Qualifier("bean1")

如何使用xml规范实现相同的功能?在xml中使用限定符注释的替代方法是什么?

1 个答案:

答案 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