依賴注入后將調(diào)用被@PostConstruct修飾的方法
像靜態(tài)方法塞关,或構(gòu)造方法中調(diào)用被注入的對象驹吮,則該對象為空
構(gòu)造時需要使用依賴注入的對象進(jìn)行初始化時程剥,可以先構(gòu)造再通過@PostConstruct修飾的方法內(nèi)進(jìn)行初始化
1. 代替構(gòu)造初始化參數(shù)
private int count;
@Autowired
private xxxService xxxService;
// 構(gòu)造
public test(){
// 此時xxxService為空荣挨,依賴注入執(zhí)行在構(gòu)造之后
// this.count = xxxService.selectCount();
}
@PostConstruct
public void init(){
// 正常初始化 count
this.count = xxxService.selectCount();
}
2. 使用靜態(tài)方法時
@Autowired
private xxxService xxxService;
private static Test test;
@PostConstruct
public void init(){
test = this;
test.xxxServie = this.xxxService;
}
public static int getCount(){
return test.xxxService.selectCount();
}