java自帶的註解@ PostConstruct

java註解@PostConstructor

1.spring項目加載數據字典
@PostConstruct註解的方法在項目啓動的時候執行這個方法,也可以理解爲在spring容器啓動的時候執行,可作爲一些數據的常規化加載,比如數據字典之類的。

2.spring項目的定時任務
spring自帶的@schedule,沒有開關,項目啓動總會啓動一個線程;
做項目的時候就使用Java的timer,這個設置開關即可自由的控制,關閉的時候,不會啓動線程;
Java的timer也需要找到一個啓動類,可以放到main函數裏面啓動,這樣的話,代碼的耦合性太高了,

而使用PostConstruct是很乾淨的。
 

spring中構造函數(Constructor)、@Autowired、@PostConstruct的順序

構造函數-->autowired-->postConstruct(post構造函數)

其實從依賴注入的字面意思就可以知道,要將對象p注入到對象a,那麼首先就必須得生成對象p與對象a,才能執行注入。所以,如果一個類A中有個成員變量p被@Autowired註解,那麼@Autowired注入是發生在A的構造方法執行完之後的。

如果想在生成對象時候完成某些初始化操作,而偏偏這些初始化操作又依賴於依賴注入,那麼就無法在構造函數中實現。爲此,可以使用@PostConstruct註解一個方法來完成初始化,@PostConstruct註解的方法將會在依賴注入完成後被自動調用。

Constructor >> @Autowired >> @PostConstruct
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章