出现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文件的

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

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

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

  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
在Spring框架中,当我们使用注解或配置文件进行依赖注入时,有时会遇到"No qualifying bean of type"的错误。这个错误通常表示Spring容器无法找到符合要求的bean。 针对你提到的"No qualifying bean of type net.sf.ehcache.Ehcache"错误,可能有以下几种原因和解决方法: 1. 缺少依赖:首先,请确保你的项目中已经添加了Ehcache的相关依赖。可以通过Maven或Gradle等构建工具来添加依赖。例如,在Maven中可以添加以下依赖: ```xml <dependency> <groupId>net.sf.ehcache</groupId> <artifactId>ehcache</artifactId> <version>2.10.6</version> </dependency> ``` 2. 配置错误:检查你的配置文件,确保已经正确配置了Ehcache相关的bean。可以使用`<bean>`标签或者注解来配置Ehcache相关的bean。例如,在XML配置文件中可以添加以下配置: ```xml <bean id="ehCacheManager" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"> <property name="configLocation" value="classpath:ehcache.xml"/> </bean> ``` 3. 包扫描问题:如果你使用了包扫描来自动装配bean,确保Ehcache相关的类所在的包已经包含在扫描范围内。可以在配置类上使用`@ComponentScan`注解指定要扫描的包。 以上是可能导致"No qualifying bean of type net.sf.ehcache.Ehcache"错误的一些常见原因和解决方法。如果以上方法都没有解决问题,可以提供更多的代码和配置信息,以便更好地帮助你解决问题。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值