官方說明: java
PostConstruct 註釋用於在依賴關係注入完成以後須要執行的方法上,以執行任何初始化。此方法必須在將類放入服務以前調用。支持依賴關係注入的全部類都必須支持此註釋。即便類沒有請求注入任何資源,用 PostConstruct 註釋的方法也必須被調用。只有一個方法能夠用此註釋進行註釋。應用 PostConstruct 註釋的方法必須遵照如下全部標準:該方法不得有任何參數,除非是在 EJB 攔截器 (interceptor) 的狀況下,根據 EJB 規範的定義,在這種狀況下它將帶有一個 InvocationContext 對象 ;該方法的返回類型必須爲 void;該方法不得拋出已檢查異常;應用 PostConstruct 的方法能夠是 public、protected、package private 或 private;除了應用程序客戶端以外,該方法不能是 static;該方法能夠是 final;若是該方法拋出未檢查異常,那麼不得將類放入服務中,除非是可以處理異常並可從中恢復的 EJB。spa
*:@PostConstruct標記的類,在項目啓動以後就能使用@Autowired註解的對象了code
import javax.annotation.PostConstruct; @Service @Transactional(readOnly = true) public class MobileCodeService{ @Autowired private DictService dictService; /** * 查詢字典表,查看是否校驗手機驗證碼 0:校驗 1:不校驗 */ @PostConstruct public void init(){ Dict dict = dictService.get("0001"); if(dict != null){ String value = dict.getValue(); if("1".equals(value)) isValid = false; } } }