Rumah  >  Artikel  >  Java  >  出现No qualifying bean of typefound for :错误

出现No qualifying bean of typefound for :错误

巴扎黑
巴扎黑asal
2017-06-26 11:30:457281semak imbas

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

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

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

Atas ialah kandungan terperinci 出现No qualifying bean of typefound for :错误. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn