我想让我们的应用程序使用spring依赖注入。因为某些原因,有些类实例化两次,导致一个org.springframework.beans.factory.NoUniqueBeanDefinitionException。一个Bean的ID只是简单的类名,另一个是全名,后面加一个#0:
在初始化上下文时遇到异常-取消更新尝试:org.springframework.beans.factory.UnsatisfiedDependencyException:在文件[W:Projekteocp- ope ServiceGruppeosplus.ocp.service.impltargetclassesosplusdynsseeieocpbsservicesfddFDDConnectionFactory.class]中创建名称为"FDDConnectionFactory"的bean时出错:通过构造函数参数0表示不满意的依赖;嵌套异常是org.springframework.beans.factory.NoUniqueBeanDefinitionException:没有类型为'osplus.dynssee.ie.ocp.bs.services.fdd '的合格bean。2 .FDDDefaultParameterResolver,osplus.dynssee.ie.ocp.bs.services.fdd.FDDDefaultParameterResolver#0
@Component
public class FDDDefaultParameterResolver implements FDDParameterResolver {
private FremdsystemProviderProvider fremdsystemProviderProvider;
@Autowired
public FDDDefaultParameterResolver(FremdsystemProviderProvider fPP) {
this.fremdsystemProviderProvider = fPP;
}
// Some methods
}
@Component
public class FDDConnectionFactory {
@Autowired
public FDDConnectionFactory(FDDParameterResolver fddParams) {
this.fddParams = fddParams;
}
}
我将类缩减到最小值,如上面所示。但奇怪的是,我无法重新创建另一个最小的例子来显示相同的行为。有些注射起作用,有些则不起作用。有人知道是什么导致了这种奇怪的行为吗?
问题似乎是注定要我公司的框架中,在那里他们已经执行某种component-scan特定包。