【发布时间】:2017-11-13 05:14:49
【问题描述】:
这个超类 DAO:
public class CrudDAO{
}
这个子类:
@Repository
public class JnsTimeDao extends CrudDAO {
}
@Repository
public class BatchDAO extends CrudDAO {
}
这个超级服务类
@Transactional(readOnly = true)
public abstract class CrudService<D extends CrudDAO> {
@Autowired
protected D dao;
}
启动错误:
org.springframework.beans.factory.NoUniqueBeanDefinitionException: 否 [com.gp.dao.CrudDAO] 类型的限定 bean 已定义:预期 单个匹配 bean 但找到 2:batchDAO,jnsTimeDao
【问题讨论】:
-
你有 2 个
CrudDAO类型的 bean,一个是JnsTimeDao和BatchDao。因此 Spring 运行时抱怨重复的 bean。您应该确保 Spring 运行时将找到其中任何一个作为合格的 bean 并将其连接。
标签: spring spring-framework-beans