Springboot整合Mybatis提示Mapper没有注入且@Autowired注解报错

我们先看controller
Springboot整合Mybatis提示Mapper没有注入且@Autowired注解报错_第1张图片

controller注入是没有问题的,@Autowired注解不会报错 而且注入的也不是空的

再看service
Springboot整合Mybatis提示Mapper没有注入且@Autowired注解报错_第2张图片

使用@Autowired这个注解注入mapper就会报错。(这样写不会报错:@Autowired(required = false))
很多人说这是IDEA的检查机制不影响运行的,等等一些原因。

在这里插入图片描述

使用 @Resource、@Reference 这两个注解并不会报错!

但是,最大的错误 并不是使用哪个注解的时候下面有红色波浪线。而是注入mapper对象的时候mapper对象是空的 而controller层注入service的时候并不为空。

PS:解决方法
Springboot整合Mybatis提示Mapper没有注入且@Autowired注解报错_第3张图片
在SpringBoot的程序入口 加多一个注解@MapperScan(“你包的全类名”),这样就能解决mapper没有注入的错误啦

你可能感兴趣的:(SpringBoot)