【出現錯誤的背景】
在使用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"/>,啟動項目錯誤消失。

