1. 程式人生 > >spring中Constructor、@Autowired、@PostConstruct的順序

spring中Constructor、@Autowired、@PostConstruct的順序

註入 自動 img 成對 .com 使用 struct ron autowire

依賴註入:

從字面意思就可以知道,要將對象B註入到對象A,那麽首先就必須得生成對象B與對象A,才能執行註入。

所以,如果一個類A中有個成員變量B被@Autowired註解,那麽@Autowired註入是發生在A的構造方法執行完之後的。

如果想在生成對象時候完成某些初始化操作,

而偏偏這些類初始化過程中,又依賴於其他類註入,那麽就無法在構造函數中實現。

為此,可以使用@PostConstruct註解一個方法來完成初始化,@PostConstruct註解的方法將會在依賴註入完成後被自動調用。

Constructor >> @Autowired >> @PostConstruct

通俗點講,就是在A類在初始化時,想要在過程中再做點其他事情,但是因為A類需要B類註入,不能在構造器中做這些操作,那麽就用@PostConstruct去做。

技術分享圖片

spring中Constructor、@Autowired、@PostConstruct的順序