No unique bean of type [com.ufida.dao.BaseDao]
1260 ワード
Error creating bean with name 'xxxServiceImpl': Injection of resource methods failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No unique bean of type [com.ufida.dao.BaseDao] is defined: expected single matching bean but found 40
エラー分析:springがbeanを組み立てるときに、複数のクラスに一致します.Dao層の実装クラスはbaseDaoというエラーをjdk 1で継承しているからである.6は現れず、jdk 1にアップグレードする.8後に現れます.解決:1、xxxDaoImpl注記に名前を追加する:
:
@Repository("xxxDao")
public class XxxDaoImpl extends BaseDaoImpl implements XxxDao {
:
@Repository
public class XxxDaoImpl extends BaseDaoImpl implements XxxDao {
2、setBaseDao()メソッドの注記にname属性を指定する
:
@Service
public class XxxServiceImpl extends BaseServiceImpl implements XxxService {
@Resource(name="viewProductDao")
public void setBaseDao(ViewProductDao viewProductDao) {
super.setBaseDao(viewProductDao);
}
:
@Service
public class XxxServiceImpl extends BaseServiceImpl implements XxxService {
@Resource
public void setBaseDao(ViewProductDao viewProductDao) {
super.setBaseDao(viewProductDao);
}