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

时间:2023-03-10 08:38:37
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。

nested exception is org.springframework.beans.factory.BeanCreationException:  不能注入对象  创建对象失败 spring
<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>
nested exception is org.springframework.beans.factory.BeanCreationException:  不能注入对象  创建对象失败 spring

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

如下:

nested exception is org.springframework.beans.factory.BeanCreationException:  不能注入对象  创建对象失败 spring
<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>
nested exception is org.springframework.beans.factory.BeanCreationException:  不能注入对象  创建对象失败 spring

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

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

,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"/>,启动项目错误消失。