Intellij IDEA中Mybatis Mapper自动注入警告的6种解决方案

文章介绍了在IntelliJ IDEA中遇到Mybatis Mapper自动注入出现警告的情况,分析了原因并提供了6种解决方案,包括设置@Autowired的required属性、使用@Resource替代、在Mapper接口上添加@Repository注解、利用Lombok简化代码、关闭IDEA警告以及安装mybatis plugin。文章还提及了相关知识点,如@Autowired与@Resource的区别以及Spring对字段注入的不建议。
摘要由CSDN通过智能技术生成

点关注,不迷路;持续更新Java架构相关技术及资讯热文!!!

相信使用Mybaits的小伙伴们一定会经常编写类似如下的代码:

可以看到 userMapper 下有个红色警告。虽然代码本身并没有问题,能正常运行,但有个警告总归有点恶心。本文分析原因,并列出解决该警告的几种方案。

原因

众所周知,IDEA是非常智能的,它可以理解Spring的上下文。然而 UserMapper 这个接口是Mybatis的,IDEA理解不了。

而 @Autowired 注解,默认情况下要求依赖对象(也就是 userMapper )必须存在。而IDEA认为这个对象的实例/代理是个null,所以就友好地给个提示。

解决方案

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

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

@Autowired(required = false)
private UserMapper userMapper;

这样就不会有警告了。原因很好理解:IDEA认为userMapper是个null,给了警告;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值