日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

springboot使用CommandLineRunner解決項目啟動時初始化資源的操作

瀏覽:81日期:2023-03-26 09:15:59
前言:

在我們實際工作中,總會遇到這樣需求,在項目啟動的時候需要做一些初始化的操作,比如初始化線程池,提前加載好加密證書等。

今天就給大家介紹一個 Spring Boot 神器,專門幫助大家解決項目啟動初始化資源操作。

這個神器就是 CommandLineRunner,CommandLineRunner 接口的 Component 會在所有 Spring Beans 都初始化之后,SpringApplication.run() 之前執(zhí)行,非常適合在應(yīng)用程序啟動之初進行一些數(shù)據(jù)初始化的工作。

正文:

接下來我們就運用案例測試它如何使用,在測試之前在啟動類加兩行打印提示,方便我們識別 CommandLineRunner 的執(zhí)行時機。

@SpringBootApplicationpublic class SpringbootRabbitmqApplication {public static void main(String[] args) { System.out.println('The service to start'); SpringApplication.run(SpringbootRabbitmqApplication.class, args); System.out.println('The service to started');}}

接下來我們直接創(chuàng)建一個類繼承 CommandLineRunner ,并實現(xiàn)它的 run() 方法。

@Componentpublic class Runner implements CommandLineRunner { @Override public void run(String... args) throws Exception { System.out.println('The Runner start to initialize ...'); } }

啟動項目進行測試:

...The service to start. . ____ _ __ _ _ / / ___’_ __ _ _(_)_ __ __ _ ( ( )___ | ’_ | ’_| | ’_ / _` | / ___)| |_)| | | | | || (_| | ) ) ) ) ’ |____| .__|_| |_|_| |___, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.0.2.RELEASE)...2021-02-01 11:38:31.314 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8078 (http) with context path ’’2021-02-01 11:38:31.317 [main] INFO com.cn.SpringbootRabbitmqApplication - Started SpringbootRabbitmqApplication in 4.124 seconds (JVM running for 6.226)The Runner start to initialize ...The service to started

根據(jù)控制臺的打印信息我們可以看出 CommandLineRunner 中的方法會在 Spring Boot 容器加載之后執(zhí)行,執(zhí)行完成后項目啟動完成。

如果我們在啟動容器的時候需要初始化很多資源,并且初始化資源相互之間有序,那如何保證不同的 CommandLineRunner 的執(zhí)行順序呢?Spring Boot 也給出了解決方案。那就是使用 @Order 注解。

我們創(chuàng)建兩個 CommandLineRunner 的實現(xiàn)類來進行測試:

第一個實現(xiàn)類:

@Component@Order(1)public class OrderRunner1 implements CommandLineRunner { @Override public void run(String... args) throws Exception { System.out.println('The OrderRunner1 start to initialize ...'); }}

第二個實現(xiàn)類:

@Component@Order(2)public class OrderRunner2 implements CommandLineRunner { @Override public void run(String... args) throws Exception { System.out.println('The OrderRunner2 start to initialize ...'); }}

添加完成之后重新啟動,觀察執(zhí)行順序:

...The service to start. . ____ _ __ _ _ / / ___’_ __ _ _(_)_ __ __ _ ( ( )___ | ’_ | ’_| | ’_ / _` | / ___)| |_)| | | | | || (_| | ) ) ) ) ’ |____| .__|_| |_|_| |___, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.0.2.RELEASE)...2021-02-01 11:42:05.724 [main] INFO o.s.boot.web.embedded.tomcat.TomcatWebServer - Tomcat started on port(s): 8078 (http) with context path ’’2021-02-01 11:42:05.728 [main] INFO com.cn.SpringbootRabbitmqApplication - Started SpringbootRabbitmqApplication in 3.472 seconds (JVM running for 5.473)The OrderRunner1 start to initialize ...The OrderRunner2 start to initialize ...The Runner start to initialize ...The service to started

通過控制臺的輸出我們發(fā)現(xiàn),添加 @Order 注解的實現(xiàn)類最先執(zhí)行,并且@Order()里面的值越小啟動越早。

在實踐中,使用ApplicationRunner也可以達到相同的目的,兩著差別不大。

以上就是springboot使用CommandLineRunner解決項目啟動時初始化資源的操作的詳細內(nèi)容,更多關(guān)于springboot 解決項目啟動時初始化資源的操作的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Spring
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日韩在线精品| 精品精品国产三级a∨在线| 欧美日韩国产v| 国产欧美一区二区三区精品酒店| 国产精品久久久久久久久久齐齐| 视频一区二区三区中文字幕| 亚洲少妇一区| 蜜臀国产一区二区三区在线播放| 蜜芽一区二区三区| 日韩av中文字幕一区二区| 日本国产一区| 国产精品美女久久久久久不卡| 国产精品久久久久久久久久齐齐| 麻豆久久久久久| 中文字幕在线官网| 国内精品福利| 伊人久久亚洲| 国产精品欧美三级在线观看| 国产一区二区三区黄网站| 亚洲黄色网址| 色老板在线视频一区二区| 欧美在线亚洲| 日韩激情精品| 国产成人精品一区二区三区在线| 亲子伦视频一区二区三区| 日韩午夜av在线| 欧美在线首页| 国产精品精品国产一区二区| 久久中文字幕av| 免播放器亚洲一区| 欧美黄色一区二区| 99精品视频在线观看免费播放| 午夜日韩福利| 日本午夜精品久久久| 精品国产亚洲一区二区三区在线 | 蜜臀91精品一区二区三区| 天堂精品久久久久| 精品一区二区三区免费看| 深夜视频一区二区| 免费日本视频一区| 精品国产精品国产偷麻豆| 久久久影院免费| 综合五月婷婷| 国产精品福利在线观看播放| 好看的av在线不卡观看| 97久久中文字幕| 日韩在线免费| 婷婷成人av| 四虎成人av| 喷白浆一区二区| 精品一区二区三区亚洲| 亚洲一区二区三区四区五区午夜 | 欧美日韩精品免费观看视频完整| 婷婷五月色综合香五月| 日韩国产综合| 日韩动漫一区| 999精品色在线播放| 欧美欧美黄在线二区| 久久久9色精品国产一区二区三区| 日本成人在线不卡视频| 97精品国产福利一区二区三区| 欧美中文日韩| 亚洲一区资源| 国产伦精品一区二区三区千人斩| 久久久久久久久99精品大| 亚洲精品综合| 日韩精品欧美激情一区二区| 91精品国产自产在线丝袜啪| 久久久久亚洲| 免费精品一区| 亚洲青青久久| 欧美日韩一区二区综合| 国产精品亚洲一区二区在线观看| 91成人精品| 三上亚洲一区二区| 自拍自偷一区二区三区| 久久美女性网| 久久精品一区二区国产| 中文字幕中文字幕精品| 99久久亚洲精品| 精品久久免费| 欧美伊人久久| 蜜桃av一区二区| 国产一区清纯| zzzwww在线看片免费| 欧美三区不卡| 天堂久久av| 免费人成精品欧美精品| 亚洲福利免费| 日韩高清中文字幕一区二区| 国产日韩欧美中文在线| 亚洲乱码视频| 亚洲在线免费| 五月天久久777| 丝袜av一区| 中文字幕在线视频久| 欧美a级一区二区| 国产色99精品9i| 日韩国产欧美在线播放| 中文字幕日韩高清在线| 模特精品在线| 视频一区视频二区中文| 日韩视频免费| 国产韩日影视精品| 日韩中文在线播放| 欧美黄色一区| 免费精品一区| 久久久久久久久成人| 国产精品1区| 久久av免费看| 免费在线成人| 精品视频国内| 精品精品久久| 国产伦乱精品| 国产精品久久久久久久久久久久久久久| 日本不卡视频在线观看| 天堂va欧美ⅴa亚洲va一国产| 中文无码日韩欧| 日韩精品一级二级 | 亚洲精品一区二区妖精| 欧美a级一区| 激情五月综合| 不卡在线一区| 亚洲免费影视| 伊人国产精品| 日韩福利视频导航| 国产精品二区影院| 精品少妇av| 欧洲精品一区二区三区| 91精品国产成人观看| 欧美精选一区二区三区| 91精品电影| 中文一区一区三区免费在线观 | 午夜精品久久久久久久久久蜜桃| 日产精品一区| 99国产成+人+综合+亚洲欧美| 国产一区久久| 亚洲一区欧美| 日韩欧美高清一区二区三区| 欧美亚洲一区二区三区| 精品视频在线一区二区在线| av资源中文在线天堂| 香蕉视频亚洲一级| 一区二区小说| 亚洲小说春色综合另类电影| 日本视频在线一区| 国产一区一一区高清不卡| 成人精品天堂一区二区三区| 中文一区二区| 7777精品| 成人精品国产亚洲| 亚洲国产影院| 亚洲精品国产精品粉嫩| 国产精品免费不| 日韩在线看片| 视频一区在线播放| 国产精品最新| 色在线视频观看| 午夜宅男久久久| 国产一精品一av一免费爽爽| 精品久久国产一区| 自由日本语亚洲人高潮| 日韩精品乱码av一区二区| 久久午夜影院| 亚洲天堂久久| 日韩高清不卡一区| 日韩一区欧美| 欧美日韩国产一区精品一区| 日韩av资源网| 欧美片第1页| 亚洲v天堂v手机在线| 精品国产三区在线| 欧美综合国产| 久久超级碰碰| 午夜国产精品视频| 国产精品亚洲综合在线观看| 天堂中文在线播放| 亚洲精品黄色| 免费在线小视频| 日本v片在线高清不卡在线观看| 久久精品国产999大香线蕉| 国产综合视频| 国产欧美三级| re久久精品视频| 久久精品天堂| 午夜久久久久| 麻豆久久久久久| 羞羞答答国产精品www一本| 欧美黄色一区| 亚洲一区二区毛片| 福利精品在线| 亚洲人成亚洲精品| 日韩精品一区二区三区免费观看| 日本少妇精品亚洲第一区| 亚洲网站视频| 精品国产精品国产偷麻豆| 麻豆91精品| 日韩欧美综合| 麻豆91精品视频| 日欧美一区二区|