东莱太史慈txt下载,美术字库,再世人生艳遇记
我已经很精简了,两篇(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启动过程全面解析(三),希望对大家有所帮助
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
浅析我对 String、StringBuilder、StringBuffer 的理解
使用IDEA搭建SSM框架的详细教程(spring + springMVC +MyBatis)
Springboot整合freemarker 404问题解决方案
引入mybatis-plus报 Invalid bound statement错误问题的解决方法
网友评论