背景:1、正常啟動,xml文件放在java目錄和resource目錄下均正常 2、junit啟動,xml文件放在resource目錄下正常,放在java目錄下報BindingException錯誤 mapperlocation綁定地址為:"classpath:com/a/b/**/*.xml" 原因 ...
背景:1、正常啟動,xml文件放在java目錄和resource目錄下均正常
2、junit啟動,xml文件放在resource目錄下正常,放在java目錄下報BindingException錯誤
mapperlocation綁定地址為:"classpath:com/a/b/**/*.xml"
原因就在於綁定的地址有問題。
junit生成的test-classes下的測試類test所在目錄與classes所在目錄相同 都存在com/a/b
啟動時首先會找test-classes下的xml,肯定找不到,則不會繼續找
所以有兩種解決方案:1、路徑改為 "classpath*:com/a/b/**/*.xml" 第一個找不到會繼續找
2、路徑改為 "classpath:com/a/b/c/*.xml" 寫全路徑
至於放在resource目錄下可以找到,是因為xml文件只有在classes下麵會存在,所以會順著路徑去找,"classpath:/mapper/**/*.xml"