我有这个超级班:
@Component
public class DAOBase {
}
@Component
public class VoceDAO extends DAOBase{
}
@Service
public class TransactionService {
@Autowired
private DAOBase dAOBase;
}
Caused by: org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type [com.jeansedizioni.dao.DAOBase] is defined: expected single matching bean but found 2: DAOBase,voceDAO
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:865)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:770)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:486)
... 37 more
@Component("DAOBaseBeanName")
public class DAOBase {
}
我想确定我完全理解了解决方案。通过@component(“daoBaseBeanname”)
,我给类DAOBase指定了特定的名称“daoBaseBeanname”,应用程序可以用它来标识类DAOBase,这样就不会把它与扩展DAOBase的其他类混淆了。对吗?
谢谢你。
尝试添加@qualifier
注释,如下所示:
@Autowired
@Qualifier("dAOBase")
private DAOBase dAOBase;
指定要在类中注入哪个bean
(daobase
或vocedao
)。
我有这个超级班: 谢谢你。
由于Zuul不支持与SC的brixton.m3打包的版本中的补丁(https://github.com/spring-cloud/spring-cloud-netflix/issues/412),我正在尝试将一个基于Spring Boot+Spring Cloud的项目升级到brixton.m4。我启用了Spring-boot-starter-actul和spring-cloud-starter-
我有两个类,每一个通过工厂自动生成同一个类:
我有两个实体管理器配置用于两个单独的数据库,但当我尝试自动连接实体管理器来配置GraphQLExecutor bean时,我得到一个异常,指出有两个bean符合条件,尽管我在PersistenceContext中指定了一个单元名。 例外情况 注射 pom.xml
为什么我会犯这个错误。我该怎么解决呢? 谢谢