一、定義:
@PostContruct
是spring框架的注解,在方法上加該注解會在項目啟動的時候執行該方法,也可以理解為在spring容器初始化的時候執行該方法。
從Java EE5規范開始,Servlet中增加了兩個影響Servlet生命周期的注解,@PostConstruct
和@PreDestroy
,這兩個注解被用來修飾一個非靜態的void()方法。
用法:
@PostContruct
public void method(){
// ....
}
或者:
public @PostContruct void method(){
// ....
}
二、作用
@PostConstruct
注解的方法在項目啟動的時候執行這個方法,也可以理解為在spring容器啟動的時候執行,可作為一些數據的常規化加載。
三、執行順序:
其實從依賴注入的字面意思就可以知道,要將對象b注入到對象a,那么首先就必須得生成對象a和對象b,才能執行注入。所以,如果一個類A中有個成員變量b被@Autowried
注解,那么@Autowired
注入是發生在A的構造方法執行完之后的。
如果想在生成對象時完成某些初始化操作,而偏偏這些初始化操作又依賴於依賴注入,那么久無法在構造函數中實現。為此,可以使用@PostConstruct
注解一個方法來完成初始化,@PostConstruct
注解的方法將會在依賴注入完成后被自動調用。
Constructor >> @Autowired >> @PostConstruct
構造方法 >> 依賴注入 >> 后期構造