采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
项目中我们使用@MapperScan注解将Mapper接口注册到spring容器,这样做的效果是不是等同于在Mapper接口上加@Mapper注解?我尝试取消MapperScan改用Mapper注解发现spring找不到Mapper接口这是为什么?
已经解决了
首先,@Mapper是属于mybatis的注解用于让mybatis识别到这是一个mapper接口并没有让spring容器实例化这个mapper的作用
其次,课程中的代码将启动类单独放在了config包下Mapper接口没有和它放在同一个包下,这样会使spring扫描不到Mapper接口无法实例化
而@MapperScan属于springboot的注解,能够让Spring扫描指定的包及其子包以查找并注册mybatis的Mapper接口,解决了以上两点问题
不过还是有一点疑问,在测试中我明明配置了componentscan而且也在mapper上加了repository注解但重启后spring还是扫描不到mapper接口,只有当我把mapper移到了config下和启动类放在一起再配合@mapper注解程序才正常
单独加@Mapper的我没用过,如果是spring没扫描到,你可以加@Component试试
登录后可查看更多问答,登录/注册
最新版Spring3.0仿12306售票系统实战
1.0k 28
520 12
560 8
615 8
1.0k 7