【发布时间】:2018-03-13 07:47:23
【问题描述】:
我遇到与this 相同的问题。我知道如何解决这个问题,但我不知道为什么会这样。
正如this 提到的,默认情况下弹簧注入是by type,而不是by name。这就是我们可以将实现注入接口的原因。
在我的spring web应用程序中,我正在注入相应的接口,在按类型解析时,它应该找到确切的具体类,但我遇到异常ConflictingBeanDefinitionException:
interface A;
interface B;
Class com.level1.Child implements A;
Class com.level2.Child implements B;
@Autowired
private B b; // expecting com.level2.Child obviously!
怎么会?有没有更好的方法来解决这个问题?这很烦人,因为我需要在很多变量上注释Qualifier,因为我的应用程序的不同包中有许多相同的类名。
【问题讨论】:
-
您能否提供有关如何在应用程序中实例化 bean 的更多详细信息:with .xml |
@Components 通过包扫描 |作为@Beans ?
标签: java spring dependency-injection