idea 注入mapper报错报红的几种解决方案

2023-05-16

方法1:为 @Autowired 注解设置required = false


使用 @Autowired 注解时,若希望允许null值,可设置required = false

像这样:


这样就不会有警告了。原因很好理解:IDEA认为cashTicketMapper是个null,给了警告;加上required = false后,使用 @Autowired 注解不再去校验userMapper是否存在了,也就不会有警告了。

但是,这种方式有点蛋疼!一个庞大的既有项目,可能到处都在引用Mapper,总不能到处都补上 required = false 吧。而且对于新手/新员工,很难一眼看懂加required = false属性只是为了解决IDEA的警告。

方法2:用 @Resource 替换 @Autowired


像这样:


这样也不会再有讨厌的警告。如果你对原因感兴趣,不妨去了解一下@Autowired 与@Resource的区别

这种方式挺赞,但如果一个项目已经大量使用@Autowired,然后为了个警告到处改成@Resource,也有点蛋疼。

方法3:在Mapper接口上加上@Repository注解


像这样:


这样也能让你的

@Autowired
private CashTicketMapper cashTicketMapper;
不再报错。

当然,如果你用@Component替换@Repository也是可以的。原理大致:IDEA不是认为 userMapper 是个null…

加个@Repository注解或者@Component骗一下IDEA就OK了……

这种方式也比较赞,改动小,也简单,我比较喜欢。

方法4:用Lombok


像这样:


Lombok生成的代码是这样的:

@Service
public class TestService {undefined
    private CashTicketMapper cashTicketMapper;
    @Autowired
    public TestService(CashTicketMapper cashTicketMapper;) {undefined
        this.cashTicketMapper= cashTicketMapper;
    }
}
但如果自己手写成Lombok生成的代码,IDEA依然会给你报警告 。我猜,应该是IDEA的Lombok插件把IDEA搞懵逼了…所以不提示了…

方法5:把IDEA的警告关闭掉


这个方法比较不推荐,感觉没有提示的IDEA是没有灵魂的,所以不推荐。我也从来不去修改IDEA的任何警告设置。

但是大家可以按照下图去试试

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

idea 注入mapper报错报红的几种解决方案 的相关文章

随机推荐

  • 命令行提交代码到gitLab服务器

    1 创建项目 xff0c 前提是gitLab服务器已经搭建完成 xff0c 在gitLab个人账户下创建一个项目 xff0c 项目名称自己定义 xff0c 如图 xff1a 2 拷贝本地代码到指定目录 xff0c 一般自己创建一个固定的代码
  • VS 附加到进程调试技巧

    有些时候碰到自己开发的程序嵌入到别人的框架中 xff0c 而在接口的地方出了问题 xff0c 而又不方便将自己的模快加入到别人的工程中 有很多相关的文件 xff0c 还有mster页面等 xff0c 这个时候VS的附加到进程调试变得不可或缺
  • Request和Response详解

    Request 和 Response 对象起到了服务器与客户机之间的信息传递作用 Request 对象用于接收客户端浏览器提交的数据 xff0c 而 Response 对象的功能则是将服务器端的数据发送到客户端浏览器 一 Request对象
  • 人最宝贵的东西是生命

    钢铁是怎样炼成的 人最宝贵的东西是生命 生命属于人只有一次 一个人的生命是应该这样度过的 当他回首往事的时候 他不会因虚度年华而悔恨 也不会因碌碌无为而羞耻 这样在临死的时候 他才能够说 39 我的生命和全部的经历 都献给世界上最壮丽的事业
  • 高性能的Mysql读书笔记系列之五(创建高性能的索引)

    前言 xff1a 索引 xff08 在MySQl中也叫做 键 xff08 key xff09 xff09 是存储引擎用于快速找到记录的一种数据结构 索引对于良好的性能非常关键 尤其是当表中的数据量越来越大时 xff0c 索引对性能的影响愈发
  • Result Maps collection already contains value for xxx.xxx.dao.BaseResultMap错误

    前言 xff1a 我们在实际开发项目中 xff0c 有的时候会用到mybatis的逆向工程 xff0c 这个东西在某种程度的确很省事 xff0c 但有时候也会因此出现bug 这篇文章讲解下如何解决题目中的bug 正文 xff1a 一 复现问
  • Android DataBinding笔记

    官网介绍 xff0c DataBinding是用于将数据的和视图绑定在一起的支持库 xff0c 特点是只需要在视图定义的xml中编写绑定信息 xff0c 减少在代码中的视图于数据的交互逻辑 这样可以分离数据和视图 xff0c 减少这两个模块
  • Android:如何使用ViewBinding(Kotlin简易版)

    Android xff1a 如何使用ViewBinding xff08 Kotlin简易版 xff09 最近这段时间在学习Kotlin xff0c 突然发现谷歌已经把kotlin android extensions插件废弃 xff0c 目
  • CentOS7 systemctl 编写自定义服务

    编辑服务文件 vi usr lib systemd system zabbix server service Unit 此部分主要用于描述 Description 61 Zabbix Server 描述服务 After 61 syslog
  • (原创)解决APP进程被杀死出现的一些坑

    这几天在开发中遇到了这样一个问题 当打开的App数量达到一定数目时 原先的App进程会被系统杀死 然后再次进入这个被杀死的App时 发现了一些异常 经过排查 xff0c 是viewpager的getitem方法没有被调用 通过网上的一些信息
  • 8位字节对齐算法

    参考文章 8bit对齐算法 void testAlign for int i 61 0 i lt 61 10 i 43 43 int align 61 align8Bit i printf 34 the align is d n 34 al
  • Ubuntu22.04安装libudev-dev时的Bug

    新安装了Ubuntu22 04 xff0c 然后安装libudev dev xff1a sudo apt install libudev dev 发现了非常奇怪的事情 xff1a 正在读取软件包列表 完成 正在分析软件包的依赖关系树 完成
  • ubuntu服务器安装python3

    输入python查看python2是否安装 输入python3查看python3是否安装 一般都会安装python2和3 xff0c 系统服务也会调用python xff0c 所以没事不要乱卸载 sudo apt autoremove py
  • 个人面试经历经验谈

    到昨天接到金蝶得Offer xff0c 我想我为期三个星期的找工作面试之旅应该是告一段落了 原以为接到Offer会有点高兴 xff0c 但是一回味这三个星期的起起落落 xff0c 便实在是高兴不起来 xff0c 虽然手上有好几个Offer可
  • mysql 运行sql报错1118 - Row size too large (> 8126). Changing some columns to TEXT or BLOB

    innodb file per table 61 1 innodb file format 61 Barracuda innodb file format check 61 ON innodb log file size 61 512M i
  • Git 操作源地址(查看 添加 修改 删除)

    查看源地址 git remote v 修改源地址 git remote set url origin git地址 添加源地址 git remote add NAME GIT URL NAME 为新的Git库源地址名 xff0c GIT UR
  • [CentOS] 四、安装 ranger

    四 安装 ranger 作者 xff1a 解琛 时间 xff1a 2020 年 9 月 15 日 ranger ranger 安装Nerd Fonts字体 span class token function git span clone h
  • java实习两个月总结

    实习两个月总结 刚开始实习的时候激情满满 慢慢的激情也退却了 在杭州月薪3000干了两个月我自己都觉得不可思议 杭州的物价大家有目共睹 先谈谈收获 认识了java8的新特性 了解了开发中常用的工具和工具包 持续集成部署的jenkins sw
  • chrome各种版本下载地址:

    Download older versions of Google Chrome for Windows Linux and Mac Download older versions of Google Chrome for Windows
  • idea 注入mapper报错报红的几种解决方案

    方法1 xff1a 为 64 Autowired 注解设置required 61 false 使用 64 Autowired 注解时 xff0c 若希望允许null值 xff0c 可设置required 61 false 像这样 xff1a