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

发布时间 - 2026-01-11 00:46:52    点击率:

我已经很精简了,两篇(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:https://github.com/saaavsaaa

以上所述是小编给大家介绍的Spring Boot启动过程全面解析(三),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# spring  # boot  # 启动过程  # Spring Boot启动过程完全解析(一)  # Spring Boot启动过程完全解析(二)  # spring boot启动加载数据原理分析  # Spring Boot启动流程分析  # SpringBoot Tomcat启动实例代码详解  # spring boot在启动项目之后执行的实现方法  # 小编  # 是在  # 在此  # 给大家  # 打到  # 这名  # 到此  # 所述  # 写完  # 给我留言  # 感谢大家  # 就差  # 两篇  # 我已经  # 疑问请  # 有任何  # 情况下  # 结束了  # 发布了  # 不多了 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程  如何快速搭建二级域名独立网站?  Laravel如何实现一对一模型关联?(Eloquent示例)  如何解决hover在ie6中的兼容性问题  Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】  微信h5制作网站有哪些,免费微信H5页面制作工具?  如何快速登录WAP自助建站平台?  Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】  Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】  Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】  怎样使用JSON进行数据交换_它有什么限制  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  手机软键盘弹出时影响布局的解决方法  如何撰写建站申请书?关键要点有哪些?  HTML5打空格有哪些误区_新手常犯的空格使用错误【技巧】  Laravel中的Facade(门面)到底是什么原理  Laravel怎么连接多个数据库_Laravel多数据库连接配置  如何用低价快速搭建高质量网站?  Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南  如何用PHP工具快速搭建高效网站?  C++用Dijkstra(迪杰斯特拉)算法求最短路径  VIVO手机上del键无效OnKeyListener不响应的原因及解决方法  Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  android nfc常用标签读取总结  laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法  laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析  如何正确下载安装西数主机建站助手?  如何在宝塔面板创建新站点?  想要更高端的建设网站,这些原则一定要坚持!  Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲  Laravel怎么集成Vue.js_Laravel Mix配置Vue开发环境  青岛网站建设如何选择本地服务器?  Laravel Artisan命令怎么自定义_创建自己的Laravel命令行工具完全指南  安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出  Python图片处理进阶教程_Pillow滤镜与图像增强  php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】  Laravel如何实现用户密码重置功能?(完整流程代码)  如何在IIS中配置站点IP、端口及主机头?  高端建站如何打造兼具美学与转化的品牌官网?  Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】  ,网页ppt怎么弄成自己的ppt?  原生JS实现图片轮播切换效果  微信小程序 wx.uploadFile无法上传解决办法  javascript日期怎么处理_如何格式化输出  重庆市网站制作公司,重庆招聘网站哪个好?  制作电商网页,电商供应链怎么做?