@Autowired一个接口的时候不少人都会有疑惑,如果
public class B implements A;
public class C implements A;
@Autowired
private A a;
此时a调用方法是调用B的方法还是C的方法呢?实测如此操作会导致启动报错了org.springframework.beans.factory.BeanCreationException,而原因是注入的时候发现有2个匹配的bean,(这个注解的首先是通过byType的方式注入Bean)
如果有此场景怎么办呢,如下:
@Autowired
private A b;
@Autowired
private A c;
@Autowired
@Qualifier(value = "c")
private A a;
@Qualifier的意思是合格者,通过这个标示,表明了哪个实现类才是我们所需要的
参考:https://blog.csdn.net/qq_37752382/article/details/101321238