Autowired的使用:推荐对构造函数进行注释

@Autowired的使用:推荐对构造函数进行注释

在编写代码的时候,使用@Autowired注解是,发现IDE报的一个警告,如下:

Spring Team recommends “Always use constructor based dependency injection in your beans. Always use assertions for mandatory dependencies”.

-> Spring建议”总是在您的bean中使用构造函数建立依赖注入。总是使用断言强制依赖”。

之前我的习惯写法如下:

1
2
@Autowired
private EnterpriseDbService service;

按照建议应该写成下面的样子:

1
2
3
4
5
6
private final EnterpriseDbService service;

@Autowired
public EnterpriseDbController(EnterpriseDbService service) {
this.service = service;
}

原因是:使用构造器注入的方法,可以明确成员变量的加载顺序

Java变量的初始化顺序为:静态变量或静态语句块–>实例变量或初始化语句块–>构造方法–>@Autowired


Autowired的使用:推荐对构造函数进行注释
https://skynetboys.github.io/2020/09/13/Autowired的使用:推荐对构造函数进行注释/
Author
Edison
Posted on
September 13, 2020
Licensed under