springboot中項目啟動時實現初始化方法加載參數

springboot項目啟動,初始化方法加載參數

今天我看到項目中用到瞭 @PostConstruct 這個註解,之前沒看到過,特地查瞭一下,

1.@PostConstruct說明

被@PostConstruct修飾的方法會在服務器加載Servlet的時候運行,並且隻會被服務器調用一次,類似於Serclet的inti()方法。被@PostConstruct修飾的方法會在構造函數之後,init()方法之前運行。

2.@PreDestroy說明

被@PreDestroy修飾的方法會在服務器卸載Servlet的時候運行,並且隻會被服務器調用一次,類似於Servlet的destroy()方法。被@PreDestroy修飾的方法會在destroy()方法之後運行,在Servlet被徹底卸載之前。

可以看出來這個註解是用來項目啟動時,進行加載參數的初始化參數的操作

然後我就總結瞭下springboot中幾種項目啟動時,可以初始化加載參數的方法。

第一種:註解@PostConstruct

項目啟動之後,可以看到這行代碼在項目啟動的時候已經執行瞭

第二種:實現CommandLineRunner接口

@Order註解裡面的參數是類執行的順序,由小到大順序

類中的輸出語句都打印出來瞭

第三種:springboot的啟動類

最簡單的方法,直接在springboot的啟動類中加上需要初始化的類就行瞭~

springboot初始化參數順序

spring初始化參數順序為

構造器–>自動註入–>PostConstrut–>InitializingBean–>init方法

–>CommandLineRunner接口方法

在容器初始化過程中便會按照如下的順序執行初始化對象的操作。

  • 初始化——構造方法!
  • 初始化——@PostConstruct方法
  • 初始化——InitializingBean接口
  • 初始化——init方法!
  • —容器啟動完畢後…
  • 容器啟動—CommandLineRunner接口方法!

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: