springMVC项目启动时出现bean注入失败的情况:Error creating bean with name 'XXX': Injection of autowired dependencies

最近这两天我在学习springMVC的时候,遇到了一个难以解决的问题,就是在启动tomcat的时候,控制台里老是报这一句错:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'courseController': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire method: public void com.myspring.controller.CourseController.setCourseService(com.myspring.service.CourseService); nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com.myspring.service.CourseService] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}

我上网查了好久,有的说是实现类里没有加@Service("xxx"),有的说是Controller里的set方法前面没有加@Autowired,还有其他的什么位置错了,包导入错了等等,我花了好久检查,发现都没有上述的错误,后来我想到了一个可能性,就是没有扫描到@Service标注的类,后来我改了一下,结果就问题就解决了,下面我给大家展示一下我的代码。

这是我工程的结构:


这是spring配置文件:


applicationContext.xml文件:


由此大家可以发现,我的base-package="com.myspring.controller"也就是说,我设置的扫描范围是com.myspring文件夹下的controller文件夹,但是我的服务类是放在Service文件夹里的,所以说spring在扫描的时候并没有扫描到被@Service所注解的类,因此启动项目的时候便会报上面的错误,只要把代码改成如下这个样子就可以了:

Spring配置文件:


applicationContext.xml文件:


这样的话Spring就可以扫描到所有需要扫描的类了。

我也是初学SpringMVC,可能某些方面的描述有错或者没有那么专业,不喜勿喷,请各位大神多多指教,最后,希望这篇文章能帮助到大家,谢谢~!!

  • 24
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 22
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值