利用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) {
SpringApplication.run(MiaoshaApplication.class, args);
}
}
注:首先确保路径没问题,mapper文件无论在开发路径还是traget导出路径都是"com.example.Demo.mapper"的路径
方法二:添加@Repository
如果方法一使用完无效,这就是idea的问题了,运行是不会报错的,如果想去掉爆红,可以添加忽略提示Suppress,这个idea能Alt+Enter里有自动添加
但是我喜欢在Mapper类上加入@Repository,直接告诉idea识别。
@Repository
public interface UserMapper extends BaseMapper<User> {
}