我正在使用 SpringMVC+Hibernate,我想在 DAO 层应用继承,我正在这样做:
BaseDao.java
public interface BaseDao
{
public Serializable save(Object object) throws DataAccessException,
HibernateException;
public void merge(Object object) throws DataAccessException,
HibernateException;
public void flush() throws DataAccessException,HibernateException;
}
EmpDao.java
public interface EmpDao extends BaseDao{
}
BaseDaoImpl.java
@Repository
public class BaseDaoImpl implements BaseDao{
// Implementation for baseDao methods
}
EmpDaoImpl.java
@Repository
public class EmpDaoImpl extends BaseDaoImpl implements EmpDao{
// Implementation
}
但我收到以下错误:
org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type
[BaseDao] is defined: expected single matching bean but found 2
我在这里缺少什么?
最佳答案
如果您确实希望在 Spring 容器中同时拥有 BaseDaoImpl
和 EmpDaoImpl
作为两个 Bean,则无论您有一个 ,您都需要告诉 Spring 使用哪一个>@Autowired
类型 BaseDao
的字段,使用 @Qualifier
annotation .
关于spring - Dao层如何进行继承?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33669348/