概述

之所以会出现这个提示,是因为Spring 4.0开始就不推荐使用属性注入,改为推荐Setter注入构造器注入

解决办法

想不出现这个提示,解决办法有4个:

  1. Setter注入
  2. 构造器注入
  3. 直接使用JDK的注解@Resource
  4. 如果还是想继续在字段上使用@Autowired注解,又不想出现这个提示,那就修改idea的配置让它不提示

Setter注入(推荐)

1
2
3
4
5
6
private UserDao userDao;

@Autowired
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}

构造器注入

在UserServiceImpl.java注入UserDao

1
2
3
4
5
6
7
8
9
private UserDao userDao;

public UserServiceImpl() {

}

public UserServiceImpl(UserDao userDao) {
this.userDao = userDao;
}

配置类注册UserService的bean,使用构造器方式注入

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package com.ledao.config;

import com.ledao.dao.UserDao;
import com.ledao.dao.UserDaoImpl;
import com.ledao.entity.Student;
import com.ledao.service.UserService;
import com.ledao.service.impl.UserServiceImpl;
import org.springframework.context.annotation.*;

/**
* @author LeDao
* @company
* @create 2022-02-15 20:39
*/
@Configuration
public class MyConfig {

@Bean
public UserDao userDao() {
return new UserDaoImpl();
}

@Bean
public UserService userService(UserDao userDao) {
return new UserServiceImpl(userDao);
}
}

使用@Resource(最简单)

1
2
@Resource
private UserDao userDao;

修改idea配置(不推荐)

让鼠标停留在@Autowired注解上,使用快捷键ALT+回车键,选择下图的第二个选项,改了之后想改回来就有点麻烦了,所以不推荐使用

image-20220217024409338