SpringBoot 啓動加載類 ApplicationRunner 和 CommandLineRunner

https://baijiahao.baidu.com/s?id=1572461067170234&wfr=spider&for=pc

https://blog.csdn.net/zhichao_qzc/article/details/80673026

如果在SpringBoot應用啓動的時候需要執行特定的動作,可以利用ApplicationRunner接口 或者 CommandLineRunner接口。實現了這些接口的Component會在所有Spring Beans都初始化之後,SpringApplication.run()之前執行,即在控制檯看Spring啓動加載出現初始化完成時間之前執行。此時已經可以ApplicationRunner或CommandLineRunner使用@Autowired注入其他的Bean,非常適合在應用程序啓動之初進行一些數據初始化的工作。

準備3個類來驗證下啓動時的執行順序。

第1個類是Controller類,我們定義一般不需要的構造方法,並輸出一條日誌

第2個類是CommandLineRunner類,通過@Order標記執行順序爲1,在run方法裏面輸出日誌

第3個類是CommandLineRunner類,通過@Order標記執行順序爲2,在run方法裏面輸出日誌

執行SpringApplication.run,查看console中的輸出日誌,CommandLineRunner的日誌會按照Order從小到大執行,並且在Spring Beans初始化之後執行。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章