IntelliJ IDEA 学习笔记 - @Autowired 报红波浪线
方案1. 换
发布日期:2021-06-30 14:53:58
浏览次数:2
分类:技术文章
本文共 1135 字,大约阅读时间需要 3 分钟。
IntelliJ IDEA 学习笔记 - @Autowired 报红波浪线
这是我们非常常见的操作
先上要被注入的Mapper
public interface PoemMapper extends BaseMapper{ }
情况一: 属性注入
我们使用了属性注入
,从 Spring4.0 开始推荐构造注入
。所以这条红线是恶性你,让你换构造注入。(当然这也是人家无奈的善意)
情况二: 构造注入
当我们在 @Autowired 的黄波浪线上按 alt + 回车
选择创建构造函数后:
注意
: Spring4.3 开始估计是被喷狠了,也可能是自己也觉得麻烦了。于是在这构造注入时可以省@Autowired
了 可是 红色波浪依旧,但此时意义已经不同了。注入时它发现 这个 bean 不存在。原因是我们的 mapper 不是显示定义的。所以它会提醒。 - 直接
@Autowired(required = false)
压制。 - 给mapper添加
@Component
显式声明一下 bean。反正都是模板生成的代码,改下模板也是很方便的。
最终效果
Mapper
@Componentpublic interface PoemMapper extends BaseMapper{ }
Service
@Servicepublic class PoemServiceImpl extends ServiceImplimplements PoemService { private final PoemMapper poemMapper; public PoemServiceImpl(PoemMapper poemMapper) { this.poemMapper = poemMapper; } @Override public Poem myGetById(Long id){ return poemMapper.selectById(id); } }
自欺欺人解决方案
方案1. 换 @Resource
(这个我爱用)
把@Autowired
换成JDK注解 @Resource
它不检查,所以也就不会报红。
方案2. 修改 Configure inspections
右下角的人头图标,点击开Configure inspections
窗口
autowiring
将 Autowiring for Bean Class
取消勾选。 OK 方案3. 掩耳盗铃
直接把检查级别调低。
方案4. 自剜双目
转载地址:https://jerryjin.blog.csdn.net/article/details/114386371 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2024年04月27日 04时19分24秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
在 Vue 中用 Axios 异步请求API
2019-04-30
MySQL进阶查询(SELECT 语句高级用法)
2019-04-30
Mysql 之主从复制
2019-04-30
【NLP学习笔记】中文分词(Word Segmentation,WS)
2019-04-30
【超越白皮书7】你需要知道关于ETH2.0的几个事实
2019-04-30
对于时间复杂度的通俗理解
2019-04-30
如何输入多组数据并输出每组数据的和?
2019-04-30
行阶梯型矩阵
2019-04-30
MATLAB指定路径保存图片方法
2019-04-30
JAVA学习笔记6 - 数组
2019-04-30
JAVA学习笔记10 - 继承
2019-04-30
Android 开发学习笔记 00 - Getting Started
2019-04-30
【学习笔记】Android Activity
2019-04-30
Android使用Retrofit_00_Getting Started
2019-04-30
Android使用Retrofit_01_OAuth2 + GitHub
2019-04-30
location区段
2019-04-30
nginx访问控制、基于用户认证、https配置
2019-04-30
linux内存的寻址方式
2019-04-30
how2heap-double free
2019-04-30