欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  Java

出现No qualifying bean of typefound for :错误

程序员文章站 2022-04-12 13:35:44
...
1、问题:启动Tomcat时报错!
主要错误代码如下
No qualifying bean of type [com.*.*.*.*.*.dao.InfoDao] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@javax.annotation.Resource(shareable=true, mappedName=, description=, name=, type=class java.lang.Object, authenticationType=CONTAINER)}
  • 1

  • 1

在这段代码之前还有错误代码:

WARN  o.s.w.c.s.XmlWebApplicationContext - Exception encountered during context initialization - cancelling refresh attempt
  • 1

  • 1

2、出现错误的环境:spring MVC + MyBatis框架下,涉及有control层、service层、dao层。
3、问题分析:一开始以为是由于control层使用@Resource出现的异常,但是经过逐层排查,错误的根源是在service层中的注解处引发的,从网上查找相关资料说是:找不到dao类
注:我的注解路径都没有问题,但是还是出现错误。
4、我的错误原因:在工程目录下创建了多级目录,而对applicationContext.xml文件的

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
  • 1

  • 1

标签中没有进行“添加“多级的配置(原来的该配置文件中只有两级目录,需要再添加一级)
5、问题解决方法:在工程中有个applicationContext.xml文件,打开后,如下图:
出现No qualifying bean of typefound for :错误
注:(1)找到bean标签,一开始的设置只有前两个,而我的解决方法就是在后面加入蓝色框中的内容,即可解决上述问题。
(2)上面第3点的“注”中说过:我的错误不是因为注解路径的原因引起的,而是因为配置文件中设置的自动扫描目录为2级引起的,而我要运行的代码是3级目录,所以需要再加一级。
(3)综合网上大多数引起这种错误的原因,我觉得主要是在配置文件中(我的是applicationContext.xml)去进行修改,特别注意一下

基本出现这种错误都是xml文件映射路径错误,检查路径是否正确

本文非原创,也是遇到问题百度得到,确实发现映射路径错误,我也测试了其他路径,都会报着这个错

以上就是出现No qualifying bean of typefound for :错误的详细内容,更多请关注其它相关文章!