![](/img/trans.png)
[英]Spring - conflicts with existing, non-compatible bean definition of same name and class
[英]Spring ConflictingBeanDefinitionException conflicts with existing, non-compatible bean definition of same name and class
我遇到与此相同的问题。 我知道如何解决这个问题,但我不知道为什么会这样。
由于该所提到的,默认情况下,春季注射是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,则稍后定义的bean将覆盖先前定义的bean。
我建议您将Childs
重命名为ChildA
和ChildB
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.