版权说明: 本文由博主keep丶原创,转载请注明出处。
原文地址: https://blog.csdn.net/qq_38688267/article/details/120901967
问题介绍
今天遇到一个非常奇怪的问题,Ibatis报错Invalid bound 一个Service的方法!如下图
报错原因
打断点挑时候发现,ibatis将我这个Service层的接口当成Mapper接口加载了,但是又没有找到对应的Mapper.xml文件,所以报错了。
解决方案
原因找到了,解决方案也就呼之欲出了!找到我们定义@MapperScan
注解的地方,一般在启动类上,修改一下该注解的信息:
- 将定义的包名再明确一些,可以加上
.*.mapper
这种模糊定义; - 也可以使用
annotationClass
属性指定加了某一个注解的类,
比如@MapperScan(value = "com.xx.xx.*.mapper", annotationClass = Mapper.class)
- 或者通过其他属性指定都可以,目的就是避免将其他接口误加载即可。