從依賴注入的字面意思就能夠知道,要將對象p注入到對象a,那麼首先就必須得生成對象p與對象a,才能執行注入。因此,若是一個類A中有個成員變量p被@Autowired註解,那麼@Autowired注入是發生在A的構造方法執行完以後的。函數
若是想在生成對象時候完成某些初始化操做,而恰恰這些初始化操做又依賴於依賴注入,那麼就沒法在構造函數中實現。爲此,能夠使用@PostConstruct註解一個方法來完成初始化,@PostConstruct註解的方法將會在依賴注入完成後被自動調用。對象
Constructor >> @Autowired >> @PostConstructblog
public Class AAA { @Autowired private BBB b; public AAA() { System.out.println("此時b還未被注入: b = " + b); } @PostConstruct private void init() { System.out.println("@PostConstruct將在依賴注入完成後被自動調用: b = " + b); } }