Spring Boot启动过程全面解析(三)
程序员文章站
2024-02-27 16:07:57
我已经很精简了,两篇(spring boot启动过程(一)、spring boot启动过程(二))依然没写完,接着来。
refreshcontext之后的方法是aft...
我已经很精简了,两篇(spring boot启动过程(一)、spring boot启动过程(二))依然没写完,接着来。
refreshcontext之后的方法是afterrefresh,这名字起的真...好。afterrefresh方法内只调用了callrunners一个方法,这个方法从上下文中获取了所有的applicationrunner和commandlinerunner接口的实现类,并执行这些实现类的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)实际上是在exception为null的情况下发布了applicationreadyevent事件。
启动至此就差不多了,于是停止stopwatch.stop(),然后把时间打到日志里:started application in ***.462 seconds (jvm running for ***.977),然后感受下这记完就扔的气势:
if (this.logstartupinfo) { new startupinfologger(this.mainapplicationclass) .logstarted(getapplicationlog(), stopwatch); }
最后返回个context,run方法就到此结束了。
==========================================================
咱最近用的github:
以上所述是小编给大家介绍的spring boot启动过程全面解析(三),希望对大家有所帮助
下一篇: linux中的链接文件命令(ln)
推荐阅读
-
Spring Boot启动过程全面解析(三)
-
Spring Boot启动过程(五)之Springboot内嵌Tomcat对象的start教程详解
-
深入讲解spring boot中servlet的启动过程与原理
-
SpringBoot 源码解析 (三)----- Spring Boot 精髓:启动时初始化数据
-
深入讲解spring boot中servlet的启动过程与原理
-
spring boot jar的启动原理解析
-
Tomcat源码分析三:Tomcat启动加载过程(一)的源码解析
-
SpringBoot 源码解析 (三)----- Spring Boot 精髓:启动时初始化数据
-
spring boot jar的启动原理解析
-
Spring boot热部署devtools过程解析