Service中使用Autowired注入field,会有浅灰色的警告。
spring团队认为field可以分为强关联引用和弱关联引用,这两种不同的引用应该采用不同的注入方式。
强关联引用的推荐注入方式(构造器注入):
final UserDao userDao;
@Autowired
public UserServiceImpl(UserDao userDao) {
this.userDao = userDao;
}
弱关联引用的推荐注入方式(set方法注入):
private UserDao userDao;
@Autowired
public void setUserDao (UserDao userDao) {
this.userDao = userDao;
}
个人没有体会也没有理解这种推荐方式的好处,脱裤子放屁。
去掉这个警告的方法: