@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

相关推荐
快乐非自愿8 分钟前
Java函数式接口——渐进式学习
java·开发语言·学习
爱吃大芒果9 分钟前
Flutter 表单开发实战:表单验证、输入格式化与提交处理
开发语言·javascript·flutter·华为·harmonyos
福尔摩斯张9 分钟前
TCP/IP网络编程深度解析:从Socket基础到高性能服务器构建(超详细)
linux·运维·服务器·开发语言·网络·网络协议·tcp/ip
superman超哥13 分钟前
仓颉语言中网络套接字封装的深度剖析与工程实践
c语言·开发语言·c++·python·仓颉
wanghowie14 分钟前
01.01 Java基础篇|语言基础与开发环境速成
java·开发语言
白露与泡影16 分钟前
2026年Java面试题目收集整理归纳(持续更新)
java·开发语言·面试
百***787525 分钟前
【技术教程】3步极速接入GPT-5.1:零门槛体验多模态AI能力
android·java·人工智能·gpt·opencv
默 语32 分钟前
IPIDEA 代理技术在海外品牌社媒数据采集中的实操落地(Instagram 营销分析案例版)
java·人工智能·ai·ai编程
墨痕诉清风35 分钟前
java漏洞集合工具(Struts2、Fastjson、Weblogic(xml)、Shiro、Log4j、Jboss、SpringCloud)
xml·java·struts·安全·web安全·spring cloud·log4j
辞旧 lekkk36 分钟前
【c++】c++11(上)
开发语言·c++·学习·萌新