昨天写完代码,准备启动项目测试,结果死活起不来,报了很多Dao 的Has been loaded by XML or SqlProvider, ignoring the injection of the SQL.的异常,一辆懵逼:
后面一步步排查:
1.先排查配置文件是否切换到可用配置,这里使用的是idea,也就是打钩后,再clean,compile,确保配置切换成功。
然而并没有卵用
2.从service 排查dao接口,按F3 进入方法,切到dao层。复制接口名,到对应的xml文件中找,看看接口名是否一致
也就是这个id
然而还是没有卵用
3.再看看错误日志,发现有一个dto没找着。全文搜索这个类,发现这个类已经删了,但是写在xml中对应的
resultMap还没删除,所以导致启动失败
总结:1.报错看仔细看日志,但有时候日志也看不出啥问题,积累经验吧
2.删除任何类需谨慎,特别是别人是否引用,xml中是否引用,要删就删干净,要不别删