在我們實際工作中,總會遇到這樣需求,在專案啟動的時候需要做一些初始化的操作,比如初始化執行緒池,提前載入好加密證書等。今天就給大家介紹乙個 spring boot 神器,專門幫助大家解決專案啟動初始化資源操作。
接下來我們就運用案例測試它如何使用,在測試之前在啟動類加兩行列印提示,方便我們識別commandlinerunner
的執行時機。
public static void main(string args) }
接下來我們直接建立乙個類繼承commandlinerunner
,並實現它的run()
方法。
@component
public class runner implements commandlinerunner
}
我們在run()
方法中列印了一些引數來看出它的執行時機。完成之後啟動專案進行測試:
the service has started.根據控制台的列印資訊我們可以看出commandlinerunner
中的方法會在 spring boot 容器載入之後執行,執行完成後專案啟動完成。
如果我們在啟動容器的時候需要初始化很多資源,並且初始化資源相互之間有序,那如何保證不同的commandlinerunner
的執行順序呢?spring boot 也給出了解決方案。那就是使用@order
註解。
我們建立兩個commandlinerunner
的實現類來進行測試:
第乙個實現類:
@component
@order(1)
public class orderrunner1 implements commandlinerunner
}
第二個實現類:
@component
@order(2)
public class orderrunner2 implements commandlinerunner
}
新增完成之後重新啟動,觀察執行順序:
the service has started.通過控制台的輸出我們發現,新增@order
註解的實現類最先執行,並且@order()
裡面的值越小啟動越早。
Spring Boot 專案啟動時載入資料
spring boot 專案啟動時載入資料 1.主要就是乙個註解 postconstruct 該註解被用來修飾乙個非靜態的void 方法。被 postconstruct修飾的方法會在伺服器載入servlet的時候執行,並且只會被伺服器執行一次。postconstruct在建構函式之後執行,init ...
SpringBoot專案啟動時自動在瀏覽器開啟
springboot有自帶的監聽任務,只需實現對應的介面,呼叫cmd啟動瀏覽器即可 配置檔案如下 package com.qin.mybatispluslearn.config import org.springframework.beans.factory.annotation.value imp...
SpringBoot啟動時的Banner設定
對於使用過springboot的開發者來說,程式啟動的時候輸出的由字元組成的spring符號並不陌生。這個是springboot為自己設計的banner spring boot v1.2.6.release 如果有人不喜歡這個輸出,本文說一下怎麼修改。springboot由於大力推行自動配置,取消了...