当spring 注解出现以下报错No unique bean of type ?我该怎么解决呢?

这是错误信息
No unique bean of type [com.home.web.AbsCrudDaoImpl] is defined: expected single matching bean but found 3: [agoodsCategoryDao, agoodsInfoDao, generateDao]
我是写了一个公共的dao类,然后继承这个类,下面是3个公共类的一些代码:

小唯快跑啊
浏览 545回答 2
2回答

哈士奇WWW

答:你应该在类上面加上@Compnnent这个注解,注入到bean里面;或者注意 class的路径不要写错即可不出错。一、注解策略:(1)类级别的注解:如@Component、@Repository、@Controller、@Service以及JavaEE6的@ManagedBean和@Named注解,都是添加在类上面的类级别注解。Spring容器根据注解的过滤规则扫描读取注解Bean定义类,并将其注册到Spring IoC容器中。 (2)类内部的注解:如@Autowire、@Value、@Resource以及EJB和WebService相关的注解等,都是添加在类内部的字段或者方法上的类内部注解。SpringIoC容器通过Bean后置注解处理器解析Bean内部的注解。 Spring实现@Autowire解析和注入的核心的类是通过。二、AutowiredAnnotationBeanPostProcessor来实现的。我们可以通过其方法列表看出,其中对字段的注入,对属性的注入,还有选择相应的构造方法来注入。1:从构造方法的缓存中查询其构造方法。2:若缓存中不存在,则根据反射获取所有构造方法。3:遍历所有构造方法,查询器是否含有@Autowired属性。4:判断Autowired注解中指定了required属性 (required属性就是判断是否强依依赖)若存在required就使用默认构造方法。5:返回指定的构造方法 注入的时候则是通过inject方法来实现。
打开App,查看更多内容
随时随地看视频慕课网APP