欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

淺談@PostConstruct不被調(diào)用的原因

 更新時(shí)間:2022年02月22日 17:02:09   作者:大江大河大12138  
這篇文章主要介紹了淺談@PostConstruct不被調(diào)用的原因及分析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

@PostConstruct不被調(diào)用的原因

如果在配置文件中配置使用,延遲加載的話(huà)

如圖

被@Service等注解的類(lèi),需要在注入使用的時(shí)候,才會(huì)被初始化.如果TableInit類(lèi)只是被定義而沒(méi)有在其他地方引用的話(huà),@PostConstrut注釋的方法是不會(huì)執(zhí)行的.

@PostConstruct詳解

定義

@PostContruct是Java自帶的注解,在方法上加該注解會(huì)在項(xiàng)目啟動(dòng)的時(shí)候執(zhí)行該方法,也可以理解為在spring容器初始化的時(shí)候執(zhí)行該方法。

從Java EE5規(guī)范開(kāi)始,Servlet中增加了兩個(gè)影響Servlet生命周期的注解,@PostConstruct和@PreDestroy,這兩個(gè)注解被用來(lái)修飾一個(gè)非靜態(tài)的void()方法。

用法

@PostConstruct 
public void someMethod(){}

或者

public @PostConstruct void someMethod(){}

作用

@PostConstruct注解的方法在項(xiàng)目啟動(dòng)的時(shí)候執(zhí)行這個(gè)方法,也可以理解為在spring容器啟動(dòng)的時(shí)候執(zhí)行,可作為一些數(shù)據(jù)的常規(guī)化加載,比如數(shù)據(jù)字典之類(lèi)的。

執(zhí)行順序

其實(shí)從依賴(lài)注入的字面意思就可以知道,要將對(duì)象p注入到對(duì)象a,那么首先就必須得生成對(duì)象a和對(duì)象p,才能執(zhí)行注入。所以,如果一個(gè)類(lèi)A中有個(gè)成員變量p被@Autowried注解,那么@Autowired注入是發(fā)生在A的構(gòu)造方法執(zhí)行完之后的。

如果想在生成對(duì)象時(shí)完成某些初始化操作,而偏偏這些初始化操作又依賴(lài)于依賴(lài)注入,那么久無(wú)法在構(gòu)造函數(shù)中實(shí)現(xiàn)。為此,可以使用@PostConstruct注解一個(gè)方法來(lái)完成初始化,@PostConstruct注解的方法將會(huì)在依賴(lài)注入完成后被自動(dòng)調(diào)用。

Constructor >> @Autowired >> @PostConstruct

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論