在字段上使用@Autowired注解时提示:Field injection is not recommended
概述
之所以会出现这个提示,是因为Spring 4.0开始就不推荐使用属性注入,改为推荐Setter注入
和构造器注入
解决办法
想不出现这个提示,解决办法有4个:
- Setter注入
- 构造器注入
- 直接使用JDK的注解
@Resource
- 如果还是想继续在字段上使用@Autowired注解,又不想出现这个提示,那就修改idea的配置让它不提示
Setter注入(推荐)
1 | private UserDao userDao; |
构造器注入
在UserServiceImpl.java注入UserDao
1 | private UserDao userDao; |
配置类注册UserService的bean,使用构造器方式注入
1 | package com.ledao.config; |
使用@Resource(最简单)
1 |
|
修改idea配置(不推荐)
让鼠标停留在@Autowired注解上,使用快捷键ALT+回车键
,选择下图的第二个选项,改了之后想改回来就有点麻烦了,所以不推荐使用
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 LeDao's Blog!
评论