springboot启动流程概括
2023-02-09 01:11:24 37 举报
自己理解整理的springboot2.X启动流程
作者其他创作
大纲/内容
准备系统启动环境(ConfigurableEnvironment)并添加一些环境配置信息
run方法
刷新上下文,启动springboot容器refreshContext(context);
环境配置信息是通过当前springboot启动类型创建响应的Enironment的类并加载系统参数和应用参数args
初始化应用监听器
SpringApplicationRunListener
停止计时器stopWatch.stop()
通知所有监听器,调用started方法
SpringBootExceptionReporter
启动失败handleRunFailure
打印启动springboot的启动banner
获取所有监听器并发送启动事件通知 SpringApplicationRunListeners
设置无显示器、鼠标启动配置configureHeadlessProperty()
刷新启动流程
获取服务的类型
启动完成,获取所有实现ApplicationRunner和CommandLinerRunner
打印启动日志
构建SpringApplication
创建ApplicationContextcreateApplicationContext();
通过启动环境的类型判断并通过反射的方式实例化一个ApplicationContext
new SpringApplication(MainApplication.class).run(args)
初始化上下文加载器
ApplicationContextInitializer
启动准备阶段
获取所有依赖jar包'/MATE-INF/spring.profiles'文件配置的自定义监听器实例,通过反射的方式创建
开始阶段
创建计时器并启动 StopWatch
启动完成阶段
启动成功,调用监听器running() 方法
ApplicationListener
初始化所有异常报告器(SpringBootExceptionReporter)
启动阶段
开始
收藏
0 条评论
下一页