@PostConstruct註解簡述

使用場景:

如果想在生成對象時候完成某些初始化數據的操作,而偏偏這些初始化操作又依賴於依賴業務類的注入,那麼就無法在構造函數中實現。而這時,使用@PostConstruct註解一個方法即可實現初始化操作。


@PostConstruct註解是Java自身的註解,Java中該註解的說明:

@PostConstruct該註解被用來修飾一個非靜態的void() 方法。被@PostConstruct修飾的方法會在服務器加載Servlet的時候運行,並且只會被服務器執行一次。PostConstruct在構造函數之後執行,init() 方法之前執行。

 通常我們會是在Spring框架中使用到@PostConstruct註解,該註解的方法在整個Bean初始化中的執行順序:

Constructor(構造方法) -> @Autowired(依賴注入) -> @PostConstruct(註釋的方法)

即:@PostConstruct註解的方法將會在依賴注入完成後被自動調用,可以調用對象的依賴

public Class ServiceA {

    @Autowired
    private ServiceB b;
    
    public ServiceA () {
        System.out.println("此時b還未被注入: b = " + b);
    }
 
    @PostConstruct
    private void initSomthing() {
        System.out.println("@PostConstruct將在依賴注入完成後被自動調用: b = " + b);
    }
}

 


參考來源於:

https://blog.csdn.net/qq360694660/article/details/82877222

https://blog.csdn.net/u014515854/article/details/78832790

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