从xml注入SpringBean错误:需要单个匹配的bean,但找到

从xml注入SpringBean错误:需要单个匹配的bean,但找到,spring,code-injection,Spring,Code Injection,我们正在使用Spring为测试创建服务bean 我得到错误:无法自动连接字段:private x.y.A预期为单个匹配bean,但找到2[A,AA] 代码: xml Cs使用 @Autowired @Qualifier("idaa") private A a; 检查是否确定扩展A的不是AA?如果A扩展AA,那么您的建议将失败,因为idaa是AA类型的bean,而不是A类型的bean。我从错误“预期的单个匹配bean,但找到了2”中得到了这个结果,当自动连线找到两个或更多可能的bean来连线一个

我们正在使用Spring为测试创建服务bean

我得到错误:无法自动连接字段:private x.y.A预期为单个匹配bean,但找到2[A,AA]

代码:

xml

Cs使用

@Autowired
@Qualifier("idaa")
private A a;

检查是否确定扩展A的不是AA?如果
A
扩展
AA
,那么您的建议将失败,因为
idaa
AA
类型的bean,而不是
A
类型的bean。我从错误“预期的单个匹配bean,但找到了2”中得到了这个结果,当自动连线找到两个或更多可能的bean来连线一个属性时,就会发生这种情况,所以它无法决定,@Qualifier帮助您指示要连线的bean,我在这里使用了'idaa'作为示例,但是如果您需要'ida',我们就使用它
<bean id="ida" class="x.y.A" />

<bean id="idaa" class="x.y.AA" />
AA.java  

class AA extends A { ... }
@Autowired
@Qualifier("idaa")
private A a;