当前位置: 首页 > news >正文

Spring Boot启动流程

① 应用程序启动时,会创建一个`SpringApplication对象,并调用其run方法

②SpringApplication的构造函数中有一个|nitialize方法,这个Initiate方法初始化SpringApplication对象:

1.添加源:将提供的源(通常是配置类)添加到应用的源列表中。

2.设置 Web 环境:判断应用是否应该运行在 Web 环境中,这会影响后续的 Web 相关配置。

3.加载初始化器:从 spring.factories 文件中加载所有列出的 ApplicationContextInitializer 实现,并将它们设置到 SpringApplication实例中,以便在应用上下文的初始化阶段执行它们。

4.设置监听器:加载和设置 ApplicationListener 实例,以便应用能够响应不同的事件。

5.确定主应用类:确定主应用类,这个主应用程序类通常是包含 public static void main(String[]arg5)方法的类,是启动整个Spring Boot 应用的入口点。

其中第三步,加载初始化器是Springboot的自动配置 的核心,从Spring,factories文件中加载并实例化指定类型的类.

③所有关键设置都就绩后就开始启动

1.调用run方法启动&停止计时器:在代码中,用到stopWatch来进行计时,所以在最开始先要启动计时,在最后要停止计时。这个计时就是最终用来统计启动过程的时长的。最终在应用启动信息输出的实时打印出来

2.获取和启动监听器:这一步从spring.factories中解析初始所有的SpringApplicationRunListener 实例,并通知他们应用的启动过程已经开始。

3.装配环境参数:这一步主要是用来做参数绑定的,prepareEnvironment方法会加载应用的外部配置。这包括application.properties 或 application.yml文件中的属性,环境变量,系统属性等。所以,我们自定义的那些参数就是在这一步被绑定的。

4.打印Banner:这一步的作用很简单,就是在控制台打印应里的启动横幅Banner,如以下内容

5.创建应用上下文:到这一步就真的开始启动了,第一步就是先要创建一个Spring的上下文出来,只有有了这个上下文才能进行Bean的加载、配置等工作。

6.准备上下文:这一步非常关键,很多核心操作都是在这一步完成的,例如打印启动日志

7.刷新上下文:这一步,是Spring启动的核心步骤,这一步骤包括了实例化所有的 Bean、设置它们之间的依赖关系以及执行其他的初始化任务。

8.创建Tomcat Server 并启动


http://www.mrgr.cn/news/3821.html

相关文章:

  • 论文解读:LONGWRITER: UNLEASHING 10,000+ WORD GENERATION FROM LONG CONTEXT LLMS
  • 【Kotlin设计模式】Kotlin中单例模式
  • Unity | Shader基础知识(第二十二集:两次渲染)
  • Milvus向量数据库-内存中索引简介
  • Eureka Server与Eureka Client详解:服务注册与发现的交互机制
  • 大数据开发工程师面试整理-性能优化
  • Docker详解
  • mongodb备份还原
  • RabbitMQ-消息队列之work使用
  • 秒懂Linux之缓冲区
  • 2024前端面试题-css篇
  • 【Mac】植物大战僵尸杂交版 for Mac(经典策略塔防游戏)游戏介绍
  • 数据结构初阶(1)——算法的时间复杂度和空间复杂度
  • 【Android】报错:XXXDataBinding文件不能自动生成
  • 计算机毕业设计选题推荐-springboot 基于SpringBoot的家电销售展示平台
  • 2024思维导图工具评测:性能、易用性全面对比
  • 算法的学习笔记—从上往下打印二叉树(牛客JZ32)
  • Modbus-TCP——Libmodbus安装和使用(Ubuntu22.04)
  • 写给大数据开发:如何优化临时数据查询流程
  • 项目启动报错:liquibase.lockservice:? - Waiting for changelog lock....