当前位置: 移动技术网 > IT编程>开发语言>Java > Spring Boot启动过程全面解析(三)

Spring Boot启动过程全面解析(三)

2019年07月22日  | 移动技术网IT编程  | 我要评论

东莱太史慈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启动过程全面解析(三),希望对大家有所帮助

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网