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