首先要清楚@Autowired是默认按照类型注入,如果同一个类中要注入两个相同类型的实现类会有冲突。
解决冲突有两个方案
1:在声明类的地方使用@Qualifier
@Qualifier("test")
@Autowired
private Test test;
@Qualifier("test1")
@Autowired
private Test test1;2.在想要优先使用的实现类的上面加@Primary
这种方案不建议使用,有局限性,如果有两个不同的地方都需要注入两个相同类型的实现类,通过上面例子第一个地方想要使用test,第二个地方想要使用test1,还是需要借助@Qualifier
@Primary
public class Test implements Itest {
}
@Autowired
private Test test;
@Autowired
private Test test1;这样就优先使用有@Primary注入
版权声明:本文为weixin_55630985原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。