Spring @Qualifier 注解
程序员文章站
2022-05-24 14:38:36
...
@Qualifier注解的作用是区分实现相同Interface的class
举个栗子
//bean 生产者
@Component("man")
public class man implement Love {
System.out.println("Hi girl i love you");
}
@Component("woman")
public class woman implement Love {
System.out.println("Hi boy i love you");
}
//bean消费者
@Component("LoveService")
public class LoveService {
@Autowired
private Love love;
}
上面的这个代码,编译的时候就会报NoUniqueBeanDefinitionException异常,因为有两个Love的实现,不知道该注入哪个love。
解决这个问题,可以使用@Qualifier注解
//bean 生产者
@Component("man")
public class man implement Love {
System.out.println("Hi girl i love you");
}
@Component("woman")
public class woman implement Love {
System.out.println("Hi boy i love you");
}
//bean消费者
@Component("LoveService")
public class LoveService {
@Autowired
@Qualifier
private Love love;
}
另外,bean生产者的@Component注解可以用@Qualifier注解代替,语义更清晰。
上一篇: cUrl 簡單使用
下一篇: @Qualifier注解 Spring