nested exception is org.springframework.beans.factory.BeanCreationException: 不能注入对象 创建对象失败 spring

【出现错误的背景】

在使用Spring+SpringMVC+Mybatis SSM集成框架时,服务器启动就会报错。

 

【错误根源】

XML配置错误。

 

【解决方案】

第一步、查找springmvc.xml 配置文件中 是否添加了扫描注解的范围。

 

<!-- 开启扫描注解 -->
    <context:component-scan base-package=""></context:component-scan>

 

(重要)base-package中要添加扫描注解范围。

<!-- 开启扫描注解 -->
    <context:component-scan base-package="com.hyh.action,com.hyh.service.impl"></context:component-scan>

如果上一步没问题的话,看下面

第二步、检查mapper包中的xml。

复制代码
<mapper >
    <!-- 完成用户的账户信息验证 -->
    <select id="userLogin" parameterType="com.hyh.entity.User"
        resultType="com.hyh.entity.User">
        select * from userInfo where phone=#{phone} and accoundpwd=#{accountpwd}
    </select>

</mapper>
复制代码

 (重要)mapper 标签中,一定要写namespace。

如下:

 

复制代码
<mapper namespace="com.hyh.mapper.UserMapper">
    <!-- 完成用户的账户信息验证 -->
    <select id="userLogin" parameterType="com.hyh.entity.User"
        resultType="com.hyh.entity.User">
        select * from userInfo where phone=#{phone} and accoundpwd=#{accountpwd}
    </select>
</mapper>
复制代码

 一般出现这些问题,无非是粗心、粗心、还是粗心。

另外一定要记住:有些关键字,能复制就复制,打字容易错。

 

,com.taotao.search.dao

我的错误 项目是sso的maven结构,然后在搭建solr服务的时候多添加了一个dao层的注入,用到注解@Repository,然而我的springmvc中扫描注解是<context:component-scan base-package="com.taotao.search.service"/>,只是<!-- 配置包扫描器,扫描所有带@Service注解的类 -->,在serviceimpl注入dao层对象,就会报创建对象错误,注入对象失败,改为<context:component-scan base-package="com.taotao.search.service,com.taotao.search.dao"/>,启动项目错误消失。

posted @ 2017-09-25 10:22  人情世故  阅读(15315)  评论(0编辑  收藏  举报
"不管做什么,只要坚持下去就会看到不一样!在路上,不卑不亢!"