关于构造方法使用@Autowired
最近看到有些工程里面将@Autowired使用在了构造方法上,觉得有些奇怪,为何不写在方法上?
一番百度后有了答案
原来是执行顺序的问题
Java变量的初始化顺序为:静态变量或静态语句块–>实例变量或初始化语句块–>构造方法–>@Autowired
如果在构造方法中操作了之前用@Autowired注解的对象、方法,就会空指针报错
因为此时还没有成功的注入bean。
所以推荐在构造方法上使用@Autowired
关于构造方法使用@Autowired
最近看到有些工程里面将@Autowired使用在了构造方法上,觉得有些奇怪,为何不写在方法上?
一番百度后有了答案
原来是执行顺序的问题
Java变量的初始化顺序为:静态变量或静态语句块–>实例变量或初始化语句块–>构造方法–>@Autowired
如果在构造方法中操作了之前用@Autowired注解的对象、方法,就会空指针报错
因为此时还没有成功的注入bean。
所以推荐在构造方法上使用@Autowired