@Autowired 注入Mapper接口时报红色下划线警告

问题描述

在使用@Autowired 注入Mapper接口时报红色下划线警告,虽然对代码没有什么影响可以正常执行,但是作为代码猿的我看着这个报红的就很不舒服,就想着让他不报红

问题描述:

@Autowired 自动注入,首先要求被自动注入的类必须在spring容器中注册为bean,,也就是该类必须为**@Controller、@Service、@Repository、@Component**等注解注释,而springboot-mybatis框架中,我们的持久化层为mybatis的Mapper接口层,一般的我们会在接口层上加注@Mapper注解,而@Mapper和@MapperScan并不是spring框架的注解,所以springboot框架使用@Autowired自动注入mapper接口层时,便会报红色警告,表示可能注入失败。

解决方法

如何消除这样的警告:

方法一:@Autowired 改成 @Resource注解根据名称注入【建议】

方法二:将@Autowired 改为 @Autowired(required = false)【不建议】

将注解@Autowired 改为@Autowired(required = false)表示自动注入的类为非必须;

方法三: 在Mapper接口上面加入一个Spring的注解:@Component

解释:@component 作用是把普通pojo实例化到spring容器中,有这个注解的话也可以将Spring扫描不到的mapper接口给自动加入Spring容器中

解决方法来源于:CSDN博主「fish-aroma」的文章 http://t.csdnimg.cn/CUWtk

相关推荐
小园子的小菜15 分钟前
Java 并发四大工具类深度解析:CountDownLatch、CyclicBarrier、Semaphore、Exchanger 原理、源码与面试考点
java·开发语言·面试
搭贝低代码17 分钟前
设备管理系统迁移改造:从手工台账到二维码数字化的实践路径
java·低代码·搭贝
前端双越老师19 分钟前
Nest.js 和 Spring Boot 为何如此像?写给前端转 Java 的同学
java·spring boot·全栈
河西石头28 分钟前
再谈C#的抽象类和接口:从“适配器”到“毛坯房”的设计哲学
开发语言·c#·接口·依赖注入·抽象类·依赖倒挂
JL1530 分钟前
Java+Go 混合架构怎么搭?收官 50 道面试题 + 学习路线
java·架构·golang
颜x小31 分钟前
[C#]——接口与继承
开发语言·c++·c#
冻柠檬飞冰走茶33 分钟前
PTA基础编程题目集 7-17 爬动的蠕虫(C语言实现)
c语言·开发语言·数据结构·算法
咯哦哦哦哦35 分钟前
qt creator x86交叉编译arm 配置
开发语言·qt
Tattoo_Welkin41 分钟前
IDEA 中常用操作记载
java·elasticsearch·intellij-idea
音符犹如代码1 小时前
Arthas classloader + sc 实战:JVM 类加载与手动加载
java·jvm·spring boot