解决Error creating bean with name 'handler': Unsatisfiehd dependency expressed through field 'service'

  1. 问题描述
    1. 在进行SSM整合时,首先配置好SpringMVC部分的文件,编写Handler和jsp,进行测试,使得jsp页面提交的表单可以通过Handler定义的方法在控制台输出,测试成功;
    2. 接着整合Spring和mybatis,同样进行相应的配置,编写vo,dao,mapper,service等,使用Junit测试service的方法是否能在数据库得以体现,测试成功;
    3. 最后整合,在Handler类中定义service,启动服务器时,报错:
      Error creating bean with name 'bookHandler': Unsatisfied dependency expressed through field 'bookService'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.oracle.service.BookService' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
  2. 解决方法:
    1. 粘贴错误代码到网上一通乱找,都是错误类似但并不适用网上各位大佬的解决方案
    2. 仔细想想,前半部分Handler+jsp正确,后半部分spring+mybatis正确,而且,仔细检查了是否扫描全了所有该扫描的包(applicationContext.xml扫了dao,service;example-servlet.xml扫了web),绝壁没错!错误应该在哪呢?
    3. 其实,当核实自己的扫描包是正确的了之后,也就是说上述两个配置文件是没问题的,那出错点是不是应该就去找那个关联了上述两个配置文件的web.xml呢?没错,就是这货!
    4. 原本我习惯的想,这个看起来跟扫包无关的配置文件怎么会是罪魁祸首呢?耽误了我将近一下午的时间!
    5. 出错原因在此:




      所以,一切尽在不言中。。。

猜你喜欢

转载自blog.csdn.net/addkai/article/details/81272252