解决@Autowired警告Field injection is

2020-10-23  本文已影响0人  一只有思想的小蚂蚁
@Autowired警告

在使用@Autowired注解进行注入时,IDEA经常会警告Field injection is not recommended。点击查看警告详细:Spring Team recommends : “Always use constuctor based dependency injection in your beans ,Always use assertions for mandatory dependencies”.这句话的意思是Spring团队建议:“总是在您的bean中使用构造函数建立依赖注入。始终对强制依赖项使用断言”。

解决方法一

可以采用构造器注入方式来解决:

private final UserService userService;

@Autowired

public UserController(UserService userService) {

    this.userService = userService;

}

解决方法二

也可以将@Autowired注解替换为@Resource注解

@Autowired总结:

可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。

可以采取对应的field注入,set方法注入,构造器注入。

field注入方式:

@Autowired

private UserService userService;

set方法注入方式:

private UserService userService;

@Autowired

public void setUserService(UserService userService){

    this.userService = userService;

}

构造器注入方式:

private final UserService userService;

@Autowired

public UserController(UserService userService) {

    this.userService = userService;

}

上一篇下一篇

猜你喜欢

热点阅读