@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

相关推荐
专注VB编程开发20年3 分钟前
.NET Reflector反编绎,如何移除DLL中的一个公开属性
开发语言·c++·c#
麦兜*4 分钟前
多阶段构建:打造最小化的 Spring Boot Docker 镜像
java·spring boot·后端·spring cloud·docker
oak隔壁找我13 分钟前
Spring Boot Starter 入门教程
java·后端
YoungP13 分钟前
【Effective Java 条目一】-- 用静态工厂方法替代构造器
java
高山上有一只小老虎14 分钟前
求最大连续bit数
java·算法
vxiam14xxx17 分钟前
【Java Swing 项目】java 聊天系统
java·开发语言·python
Dylan的码园25 分钟前
以二叉树问题为基础的递归调试学习(上)
java·学习·算法·leetcode·r-tree
少许极端29 分钟前
算法奇妙屋(九)-栈
java·数据结构·算法·
shepherd11132 分钟前
破局延时任务(下):Spring Boot + DelayQueue 优雅实现分布式延时队列(实战篇)
java·spring boot·后端
听风吟丶40 分钟前
深入解析 Spring Boot 自动配置:原理、实践与进阶
java·数据库·sql