@Qualifier限定哪个bean应该被自动注入。当Spring无法判断出哪个bean应该被注入时,@Qualifier注解有助于消除歧义bean的自动注入。参见下面的例子,
public class Staff{
@Autowired
private user user;
}
我们有两个bean定义为Person类的实例。
<beanclass=""/>
<beanclass="">
<property name="name"value="zhangsan"/></bean>
<beanclass="">
<property name="name"value="lisi"/></bean>
Spring 知道哪个bean应该自动注入?不。当您运行上面的例子时,抛出如下异常:
Caused by: : No unique bean of type [] is defined: expected single matching bean but found2: [user1, user2]
要解决以上问题,你需要使用@Quanlifier注解告诉Spring 哪个bean应该被autowired的。
public class Staff
{
@Autowired
@Qualifier("user1")
private User user;
}