起因是Spring建議”總是在您的bean中使用構(gòu)造函數(shù)建立依賴注入仿耽』癫總是使用斷言強(qiáng)制依賴”怖喻,而且之前用@Autowired時(shí)idea總是給警告很洋,于是全部改成了構(gòu)造器注入充蓝,運(yùn)行時(shí)發(fā)生了循環(huán)注入,于是找了一下原因,跟Spring boot變量的初始化順序有關(guān)系谓苟。
Spring boot變量的初始化順序?yàn)椋红o態(tài)變量或靜態(tài)語句塊–>實(shí)例變量或初始化語句塊–>構(gòu)造方法–>@Autowired
@Autowired一定要等本類構(gòu)造完成后官脓,才能從外部引用設(shè)置進(jìn)來。所以@Autowired的注入時(shí)間一定會(huì)晚于構(gòu)造函數(shù)的執(zhí)行時(shí)間