@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

相关推荐
D***776543 分钟前
适用于IntelliJ IDEA 2024.1.2部署Tomcat的完整方法,以及笔者踩的坑,避免高血压,保姆级教程
java·tomcat·intellij-idea
豆浆whisky1 小时前
Go并发模式选择指南:找到最适合你项目的并发方案|Go语言进阶(19)
开发语言·后端·golang
20岁30年经验的码农1 小时前
Spring Security 6.x 安全实践指南
java
草莓熊Lotso1 小时前
《算法闯关指南:动态规划算法--斐波拉契数列模型》--01.第N个泰波拉契数,02.三步问题
开发语言·c++·经验分享·笔记·其他·算法·动态规划
胖咕噜的稞达鸭2 小时前
自定义shell命令行解释器自制
java·开发语言
草莓熊Lotso2 小时前
Git 分支管理:从基础操作到协作流程(本地篇)
大数据·服务器·开发语言·c++·人工智能·git·sql
报错小能手2 小时前
C++异常处理 终极及总结
开发语言·c++
q***33375 小时前
oracle 12c查看执行过的sql及当前正在执行的sql
java·sql·oracle
tobebetter95277 小时前
How to manage python versions on windows
开发语言·windows·python
Y***h1878 小时前
第二章 Spring中的Bean
java·后端·spring