mybatis創建SqlSessionFactory的bean實例失敗的排查思路

 

自從入坑springboot,原生spring很少用了,最近打算複習下框架原理,用ssm搞一套小Demo。

結果就出現問題了:mybatis創建sqlSessionFactory時,出現如下錯誤

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory': Lookup method resolution failed; nested exception is java.lang.IllegalStateException: Failed to introspect Class [org.mybatis.spring.SqlSessionFactoryBean] from ClassLoader [sun.misc.Launcher$AppClassLoader@XXXXXXX]

 

 意思是無法創建sqlSessionFactory的bean實例,sessionfactory作爲mybatis的核心,創建不了實例,那還怎麼玩下去!?於是馬上想思路解決:①xml配置寫錯;②mapper路徑寫錯;於是在配置部分逐個字符,一遍又一遍檢查了很久,沒發現問題。於是又想到會不會公司網絡導致部分jar包沒有成功導入,檢查後也沒發現問題,mybatis-spring的相關依賴包也已經導入。後來換了幾個mybatis掃描mapper的方法,也未能解決。於是各種google,Stack Overflow,百度。。。找不到解決方案啊

最後。。。。。。依靠同事的力量幫我解決了問題:http://mybatis.org/spring/zh/

原來是我的mybatis框架在maven中配的是3.5以下的,難怪出現無法創建實例的問題了,在maven中修改下mybatis的版本信息再重新導包就OK了。

 

總結:mybatis出現無法創建bean實例的時候,根據實際情況檢查xml,maven等配置有無配置錯誤,出現問題優先翻閱官方文檔,儘量找全官方文檔(這次就屬於查找mybatis,漏了mybatis-spring的文檔),其次再動用搜索引擎。有空的時候還是精確到源碼級別,多提升自己。

(PS:官方文檔也不可全信,之前某東物聯網開發平臺,文檔寫着返回json,結果實際給我們返回個String!?文檔過時不更新的情況很多平臺也會有出現,所以還是文檔和搜索引擎相結合吧,坑是一定要踩的,加油!!!)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章