springboot中項(xiàng)目啟動(dòng)時(shí)實(shí)現(xiàn)初始化方法加載參數(shù)
springboot項(xiàng)目啟動(dòng),初始化方法加載參數(shù)
今天我看到項(xiàng)目中用到了 @PostConstruct 這個(gè)注解,之前沒看到過,特地查了一下,
1.@PostConstruct說明
被@PostConstruct修飾的方法會(huì)在服務(wù)器加載Servlet的時(shí)候運(yùn)行,并且只會(huì)被服務(wù)器調(diào)用一次,類似于Serclet的inti()方法。被@PostConstruct修飾的方法會(huì)在構(gòu)造函數(shù)之后,init()方法之前運(yùn)行。
2.@PreDestroy說明
被@PreDestroy修飾的方法會(huì)在服務(wù)器卸載Servlet的時(shí)候運(yùn)行,并且只會(huì)被服務(wù)器調(diào)用一次,類似于Servlet的destroy()方法。被@PreDestroy修飾的方法會(huì)在destroy()方法之后運(yùn)行,在Servlet被徹底卸載之前。
可以看出來這個(gè)注解是用來項(xiàng)目啟動(dòng)時(shí),進(jìn)行加載參數(shù)的初始化參數(shù)的操作
然后我就總結(jié)了下springboot中幾種項(xiàng)目啟動(dòng)時(shí),可以初始化加載參數(shù)的方法。
第一種:注解@PostConstruct
項(xiàng)目啟動(dòng)之后,可以看到這行代碼在項(xiàng)目啟動(dòng)的時(shí)候已經(jīng)執(zhí)行了
第二種:實(shí)現(xiàn)CommandLineRunner接口
@Order注解里面的參數(shù)是類執(zhí)行的順序,由小到大順序
類中的輸出語句都打印出來了
第三種:springboot的啟動(dòng)類
最簡單的方法,直接在springboot的啟動(dòng)類中加上需要初始化的類就行了~
springboot初始化參數(shù)順序
spring初始化參數(shù)順序?yàn)?/h3>
構(gòu)造器-->自動(dòng)注入-->PostConstrut-->InitializingBean-->init方法
-->CommandLineRunner接口方法
在容器初始化過程中便會(huì)按照如下的順序執(zhí)行初始化對(duì)象的操作。
- 初始化——構(gòu)造方法!
- 初始化——@PostConstruct方法
- 初始化——InitializingBean接口
- 初始化——init方法!
- ---容器啟動(dòng)完畢后...
- 容器啟動(dòng)—CommandLineRunner接口方法!
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
淺析Java IO相關(guān)知識(shí)點(diǎn)
本篇文章給大家分享了關(guān)于java io的一些相關(guān)知識(shí)點(diǎn)以及相關(guān)內(nèi)容,對(duì)此有需要的朋友可以學(xué)習(xí)參考下。2018-05-05Java利用線程工廠監(jiān)控線程池的實(shí)現(xiàn)示例
這篇文章主要介紹了Java利用線程工廠監(jiān)控線程池的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04Java精品項(xiàng)目瑞吉外賣之新增菜品與分頁查詢篇
這篇文章主要為大家詳細(xì)介紹了java精品項(xiàng)目-瑞吉外賣訂餐系統(tǒng),此項(xiàng)目過大,分為多章獨(dú)立講解,本篇內(nèi)容為新增菜品和分頁查詢功能的實(shí)現(xiàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05java微信公眾號(hào)支付開發(fā)之現(xiàn)金紅包
這篇文章主要為大家詳細(xì)介紹了java微信公眾號(hào)支付開發(fā)之現(xiàn)金紅包,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04