繁体   English   中英

Spring ConflictingBeanDefinitionException与具有相同名称和类的现有不兼容bean定义冲突

[英]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重命名为ChildAChildB

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM