文章目录有道无术,术尚可求,有术无道,止于术。
本系列Spring Boot版本2.7.0
- 前言
- 1. 打印启动完成日志
- 2. 调用Runner
- 总结
终于启动流程到了最后一个阶段,这里主要是打印启动完成日志、调用监听器、运行Runners 。
// 1. 方法体为空,需自定义实现
this.afterRefresh(context, applicationArguments);
// 2. 启动耗时
Duration timeTakenToStartup = Duration.ofNanos(System.nanoTime() - startTime);
// 3. 打印启动耗时
if (this.logStartupInfo) {
(new StartupInfoLogger(this.mainApplicationClass)).logStarted(this.getApplicationLog(), timeTakenToStartup);
}
// 4. 执行监听器,应用已启动事件
listeners.started(context, timeTakenToStartup);
// 5. 调用启动完成运行器
this.callRunners(context, applicationArguments);
protected void afterRefresh(ConfigurableApplicationContext context, ApplicationArguments args) {
}
1. 打印启动完成日志
打印启动完成耗时:
启动完成后,调用ApplicationRunner、CommandLineRunner运行用户自定义的启动完成后的执行代码
private void callRunners(ApplicationContext context, ApplicationArguments args) {
List
总结
Spring Boot 2.x源码系列【1】SPI机制详解
Spring Boot 2.x源码系列【2】启动流程深入解析之SpringApplication类
Spring Boot 2.x源码系列【3】启动流程深入解析之创建引导上下文
Spring Boot 2.x源码系列【4】启动流程深入解析之启动监听器
Spring Boot 2.x源码系列【5】启动流程深入解析之准备环境
Spring Boot 2.x源码系列【6】启动流程深入解析之创建、准备上下文
Spring Boot 2.x源码系列【7】启动流程深入解析之刷新上下文



