出现No qualifying bean of type [com.*.*.dao.InfoDao] found for :错误!

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)}

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

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

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


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

感谢阅读,如果有些语句不通顺或者逻辑不够清晰,请大家见谅!如果有问题,大家也可以提提改善的意见!(^_−)☆

你可能感兴趣的:(笔记)