admin管理员组

文章数量:1567262

Unsatisfied dependency expressed through field ‘userMapper’; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type ‘com.conquer.dao.UserMapper’ available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}

这个问题真是脑壳疼,在网上查半天都找不到问题原因!

翻译的意思大概就是你这个UserMapper 在spring容器中有多个 userMapper 对象可以选择注入。所以原因就出来了!那就是在web.xml的时候加载了两次 application.xml ,就是说加载了两次spring容器!所以会生成两个bean!

<!--  Spring的配置信息
    通过全局上下文参数来加载Sprin配置文件-->
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:application-context.xml</param-value>  这里是加载第一次 spring 配置文件
  </context-param>
 <!--  配置监听器,通过监听器的方式来Spring框架运行起来-->
   <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-	class>
  </listener>

<!-- 拦截器配置-->
  <servlet>
    <servlet-name>dispatcherServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>   初始化这里之前加载的是 spring 的配置文件 这是i需改过的
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:application-springMVC.xml</param-value>
    </init-param>
  </servlet>
  <servlet-mapping>
    <servlet-name>dispatcherServlet</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>

这是修改过的 之前在前端控制器哪里加载的不是 springMVC的配置文件 而是 spring的哪个配置文件,修改之后就解决了

前端控制器加载的是 springmvc的配置 毕竟是控制层,Controller是跟它挂钩的 初始化就方法springmvc的配置文件 
上面的哪个监听器就是用来注册spring 的 

顺便说下在其他地方看到的解决方式

https://wwwblogs/Zhangzhiq/p/16378370.html
它的意思就是逆向工程生成的mapper。xml文件result有问题  跟我的不一样

其他地方要注意什么扫包路径对不对啊  这种都是细心的问题。
不得不说 bug 千千万,你永远不知道你错在哪里  我得休息一会了 脑壳痛

本文标签: