本人小白,最近開始ssm框架的學習,搭建過程中遇到各種粗心的問題,以及解決辦法,希望可以幫到大家。大佬輕噴。
一、Service 注入失敗
描述:在創建Controller的bean時失敗,提示該controller類中的 ***屬性 at least has 1 bean (即該類中聲明的屬性沒有正確注入)
原因:Controller中聲明的屬性沒有添加注解(@Autowirde或@Resource),導致屬性注入失敗。
解決:檢查對應Controller中的屬性,並添加屬性注解。
二、Service 注入失敗
描述:提示動態代理相關的信息:invoke等。。
原因:映射文件中新增的語句,沒有寫id屬性。。。即接口的方法名,與其對應的映射文件的某條語句id屬性,沒有匹配上!
解決:將接口的方法名,和映射文件的對應的id屬性保持一致。
三、創建sqlSessionFactory失敗
原因:mybatis會話工廠的class路徑沒有寫。
解決:寫上正確的會話工廠路徑
四、加載web配置文件直接失敗。
原因:使用了user libraries 來引入ssm相關jar包(可能是本人的jar路徑中包含中文)
解決:采用將jar包直接放入項目中,問題消失。
五、找不到SpringMvc核心配置文件的位置
描述:提示有關mvc配置文件找不到的信息
原因:SpringMvc.xml文件沒有正確放入相關位置
解決:在配置spring-mvc前端控制器時,加入初始化參數(init-param):用於指定該配置文件的路徑,如下:
<!-- 配置springMvc前端控制器 --> <servlet> <servlet-name>springMvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:SpringMvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet>
此時,應該講SpringMvc.xml放到工程目錄下的config文件夾中,注意該文件將夾不是普通的Folder,而是Source Folder
六、spring自動創建Controller 的Bean時出錯。
描述:該類中聲明的屬性(userService),沒有得到注入。錯誤提示后面會有NullPointerException
原因:該屬性(userService)對應的類中,沒有任何屬性和方法(即接口和實現類中都沒有任何代碼)。
解決:隨便在對應的接口及類中完成一些功能即可。總之不能是空的類
七、基本框架已經搭建完畢,可以運行,但是添加了mybatis的接口和對應映射文件后出錯
描述:提示創建mapper代理對象時出錯。
原因:映射文件的 namespace沒有寫。----本人改了1小時才發現,崩潰!
解決:檢查namespace,並添加。
以后會持續更新,有問題的可以在此留言,大家一起討論解決。
