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 配置文件错误,影响项目启动,且不容易定位问题,异常堆栈信息打印的内容不是最终的问题所在
- 问题解决,要及时记录,要深究根本,不然下次还会发生
- 工作时要有规划,尽量将每一个步骤都写出来,及时被打断,也能快速回归工作位置