expected at least 1 bean which qualifies as autowire candidate for this dependency
異常背景
- 表中新增一個字段,表已建立完畢,相關DAO層接口沒有新增,于是重新使用MyBatis 自動生成工具,再次生成
異常現象
- 項目啟動異常,無法啟動,提示 XXXMapper 依賴找不到,但此XXXMapper及異常堆棧資訊顯示的類都是很久以前的,是以不存在問題
異常定位
- 逐一檢視新增的 XML 配置檔案
- IDEA + MyBatis 插件
異常分析
- 使用MyBatis 自動生産工具時,沒有将已有的類PO及Mapper删除,我以為是覆寫生成,實際是追加,但是Mapper中相關内容都生成了兩次
- 另一個表中新增一個屬性,我修改了Mapper,增加了字段與屬性的映射,但忘了修改PO沒有增加這個屬性(中間有事被打斷了)
異常反思
- MyBatis XML 配置檔案錯誤,影響項目啟動,且不容易定位問題,異常堆棧資訊列印的内容不是最終的問題所在
- 問題解決,要及時記錄,要深究根本,不然下次還會發生
- 工作時要有規劃,盡量将每一個步驟都寫出來,及時被打斷,也能快速回歸工作位置