spring boot啟動加載數(shù)據(jù)原理分析
實際應用中,我們會有在項目服務啟動的時候就去加載一些數(shù)據(jù)或做一些事情這樣的需求。
為了解決這樣的問題,spring Boot 為我們提供了一個方法,通過實現(xiàn)接口 CommandLineRunner 來實現(xiàn)。
創(chuàng)建實現(xiàn)接口 CommandLineRunner 的類,通過@Component注解,就可以實現(xiàn)啟動時加載數(shù)據(jù)項。使用@Order 注解來定義執(zhí)行順序。
IndexStartupRunner.Java類:
import org.springframework.boot.CommandLineRunner; import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component; /** * 服務啟動執(zhí)行 */ @Component @Order(value=1) public class IndexStartupRunner implements CommandLineRunner { @Override public void run(String... args) throws Exception { System.out.println(" IndexStartupRunner >>>>>>>>>>>>>>>服務啟動執(zhí)行,執(zhí)行加載數(shù)據(jù)等操作 <<<<<<<<<<<<<"); } } IndexStartupRunner2.java類: import org.springframework.boot.CommandLineRunner; import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component; /** * 服務啟動執(zhí)行 */ @Component @Order(value=2) public class IndexStartupRunner2 implements CommandLineRunner { @Override public void run(String... args) throws Exception { System.out.println(" IndexStartupRunner2 >>>>>>>>>>>>>>>服務啟動執(zhí)行,執(zhí)行加載數(shù)據(jù)等操作 <<<<<<<<<<<<<"); } }
啟動程序后,控制臺輸出結果為:
>>>>>>>>>>>>>>>IndexStartupRunner服務啟動執(zhí)行,執(zhí)行加載數(shù)據(jù)等操作<<<<<<<<<<<<<
>>>>>>>>>>>>>>>IndexStartupRunner2服務啟動執(zhí)行,執(zhí)行加載數(shù)據(jù)等操作<<<<<<<<<<<<<
根據(jù)控制臺結果可判斷,@Order 注解的執(zhí)行優(yōu)先級是按value值從小到大順序。
ComandLineRunner和ApplicationRunner區(qū)別和使用
如果需要在springapplication啟動之后運行一些特定的代碼,可以實現(xiàn) ApplicationRunner 或
CommandLineRunner 接口。 兩個接口以相同的方式工作,并提供了一個單一的 run 方法,該方法將被調用
SpringApplication.run(…) 完成之前。
這兩個接口的不同之處在于:ApplicationRunner中run方法的參數(shù)為ApplicationArguments,而CommandLineRunner接口中run方法的參數(shù)為String數(shù)組。
以上所述是小編給大家介紹的spring boot啟動加載數(shù)據(jù)原理分析,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關文章
JAVA加密算法- 非對稱加密算法(DH,RSA)的詳細介紹
這篇文章主要介紹了JAVA加密算法- 非對稱加密算法(DH,RSA),詳細介紹了DH,RSA的用法和示例,需要的朋友可以了解一下。2016-11-11基于SpringBoot bootstrap.yml配置未生效的解決
這篇文章主要介紹了基于SpringBoot bootstrap.yml配置未生效的解決方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-10-10Java實現(xiàn)順時針輸出螺旋二維數(shù)組的方法示例
這篇文章主要介紹了利用Java如何實現(xiàn)順時針輸出螺旋二維數(shù)組的方法示例,文中給出了詳細的示例代碼和注釋,相信對大家具有一定的參考價值,有需要的朋友們下面來一起看看吧。2017-02-02基于spring實現(xiàn)websocket實時推送實例
這篇文章主要為大家詳細介紹了基于spring實現(xiàn)websocket實時推送實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-03-03java日期操作工具類(獲取指定日期、日期轉換、相隔天數(shù))
這篇文章主要為大家詳細介紹了java日期操作工具類,包括獲取指定日期、日期轉換、相隔天數(shù)等操作,感興趣的小伙伴們可以參考一下2016-06-06如何在Spring中使用編碼方式動態(tài)配置Bean詳解
這篇文章主要給大家介紹了關于如何在Spring中使用編碼方式動態(tài)配置Bean的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2018-05-05在IntelliJ IDEA中.idea文件是什么可以刪除嗎
相信有很多小伙伴,在用idea寫java代碼的時候,創(chuàng)建工程總是會出現(xiàn).idea文件,該文件也從來沒去打開使用過,那么它在我們項目里面,扮演什么角色,到底能不能刪除它呢?這篇文章主要介紹了在IntelliJ IDEA中.idea文件是什么可以刪除嗎,需要的朋友可以參考下2024-01-01