@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