解决mapper自动装配识别不了,Could not autowire.No beans of‘UserMapper‘type found
目录
- mapper自动装配识别不了,Could not autowire.No beans of‘UserMapper‘type found
- 原因
- 方法一:添加@MapperScan注解
- 方法二:添加@Repository
- 总结
mapper自动装配识别不了,Could not autowire.No beans of‘UserMapper‘type found
利用MyBATisX插件使用MybatisPlus生成代码后,使用自动注入时报错:
Could not autowire. No beans of ‘UserMapper’ type found
原因
Spring没有未找到相应的类
方法一:添加@MapperScan注解
在Spring Boot应用的主配置类或者主启动类上添加@MapperScan(“mapper文件夹所在包”)注解
让Spring能够在相应的包中扫描
@SpringBootApplication @MapperScan("com.example.Demo.mapper") public class MiaoshaApplication { public static void main(String[] args) { SpringApjsplhttp://www.devze.comication.run(MiaoshaApplication.class, args); } }
注:
- 首先确保路径没问题
- mapper文件无论在开发路径还是traget导出路径都是"com.exampl编程e.Demo.mapper"的路径
方法二:添加@Repository
如果方法一使用完无效,这就是idea的问题了,编程客栈运行是不会报错的,如果想去掉爆红,可以添加忽略提示Suppress,这个idea能Alt+Enter里有自动添加
但是我喜欢在Mapper类上加入@Repository,直接告诉idea识别。
@Repository public interface UserMapper extends BaseMapper<User> { }
总结
以上为个人经验,希望能给大家一个参考,js也希望大家多多支持编程客栈(www.devze.com)。
精彩评论