Spring Boot啟動(dòng)過(guò)程全面解析(三)
我已經(jīng)很精簡(jiǎn)了,兩篇(Spring Boot啟動(dòng)過(guò)程(一)、spring Boot啟動(dòng)過(guò)程(二))依然沒(méi)寫完,接著來(lái)。
refreshContext之后的方法是afterRefresh,這名字起的真...好。afterRefresh方法內(nèi)只調(diào)用了callRunners一個(gè)方法,這個(gè)方法從上下文中獲取了所有的ApplicationRunner和CommandLineRunner接口的實(shí)現(xiàn)類,并執(zhí)行這些實(shí)現(xiàn)類的run方法。例如Spring Batch的JobLauncherCommandLineRunner:
@Override
public void run(String... args) throws JobExecutionException {
logger.info("Running default command line with: " + Arrays.asList(args));
launchJobFromProperties(StringUtils.splitArrayElementsIntoProperties(args, "="));
}
listeners.finished(context, null)實(shí)際上是在exception為null的情況下發(fā)布了ApplicationReadyEvent事件。
啟動(dòng)至此就差不多了,于是停止stopWatch.stop(),然后把時(shí)間打到日志里:Started Application in ***.462 seconds (JVM running for ***.977),然后感受下這記完就扔的氣勢(shì):
if (this.logStartupInfo) {
new StartupInfoLogger(this.mainApplicationClass)
.logStarted(getApplicationLog(), stopWatch);
}
最后返回個(gè)context,run方法就到此結(jié)束了。
==========================================================
咱最近用的github:https://github.com/saaavsaaa
以上所述是小編給大家介紹的Spring Boot啟動(dòng)過(guò)程全面解析(三),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
SpringBoot使用OkHttp完成高效網(wǎng)絡(luò)請(qǐng)求詳解
OkHttp 是一個(gè)高效的 HTTP 客戶端,支持同步和異步請(qǐng)求,且具備自動(dòng)處理 cookie、緩存和連接池等高級(jí)功能,下面我們來(lái)看看SpringBoot如何利用 OkHttp 完成高效網(wǎng)絡(luò)請(qǐng)求吧2025-03-03
SpringBoot中優(yōu)化Undertow性能的方法總結(jié)
Undertow是一個(gè)采用 Java 開(kāi)發(fā)的靈活的高性能Web服務(wù)器,提供包括阻塞和基于NIO的非堵塞機(jī)制,本文將給大家介紹SpringBoot中優(yōu)化Undertow性能的方法,文中有相關(guān)的代碼示例供大家參考,需要的朋友可以參考下2024-08-08
詳解Java的MyBatis框架中的緩存與緩存的使用改進(jìn)
很多人在使用MyBatis的緩存后經(jīng)常會(huì)遇到MySQL分頁(yè)查詢的顯示問(wèn)題,針對(duì)于此,這里我們就來(lái)詳解Java的MyBatis框架中的緩存與緩存的使用改進(jìn),首先來(lái)回顧一下MyBatis的緩存機(jī)制與執(zhí)行:2016-06-06
SpringMVC數(shù)據(jù)校驗(yàn)+VO++脫敏實(shí)戰(zhàn)指南
SpringMVC通過(guò)整合BeanValidation規(guī)范,提供靈活的數(shù)據(jù)校驗(yàn)機(jī)制,核心步驟包括添加校驗(yàn)注解、使用@Valid觸發(fā)校驗(yàn)、捕獲錯(cuò)誤,可選擴(kuò)展,文章還介紹了全局異常處理、自定義校驗(yàn)注解以及VO層的使用,感興趣的朋友一起看看吧2025-03-03
collection集合體系與并發(fā)修改異常的解決方法
今天小編就為大家分享一篇關(guān)于collection集合體系與并發(fā)修改異常的解決方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-03-03
Springboot從配置文件properties讀取字符串亂碼的解決
這篇文章主要介紹了Springboot從配置文件properties讀取字符串亂碼的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02
Java常用流程控制語(yǔ)句實(shí)現(xiàn)原理解析
這篇文章主要介紹了Java常用流程控制語(yǔ)句實(shí)現(xiàn)原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08

