@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

相关推荐
浩瀚星辰20244 分钟前
图论基础算法:DFS、BFS、并查集与拓扑排序的Java实现
java·算法·深度优先·图论
LjQ204016 分钟前
Java的一课一得
java·开发语言·后端·web
苦学编程的谢26 分钟前
SpringBoot项目的创建
java·spring boot·intellij-idea
阿蒙Amon31 分钟前
C#正则表达式全面详解:从基础到高级应用
开发语言·正则表达式·c#
武昌库里写JAVA1 小时前
vue3面试题(个人笔记)
java·vue.js·spring boot·学习·课程设计
别来无恙1491 小时前
整合Spring、Spring MVC与MyBatis:构建高效Java Web应用
java·spring·mvc
CHANG_THE_WORLD1 小时前
「macOS 系统字体收集器 (C++17 实现)」
开发语言·c++·macos
求知摆渡1 小时前
共享代码不是共享风险——公共库解耦的三种进化路径
java·后端·架构
妄想出头的工业炼药师2 小时前
python和C++相互调用使用
开发语言·c++
2301_764441332 小时前
Python管理咨询数据可视化实战:收入分布与顾问利用率双轴对比图表生成脚本
开发语言·python·信息可视化