Bootstrap

SpringBoot启动流程

Spring Boot 是一个基于 Spring 框架的快速开发和部署的框架,提供了自动化配置、快速构建、方便部署的特性。

  1. 启动应用:通过调用 SpringApplicationrun 方法,启动应用,同时触发 Spring 的生命周期事件。

  2. 运行应用:应用启动后,会进入运行状态,处理请求、响应和业务逻辑等。

  3. 关闭应用:当应用被关闭时,会触发 Spring 的生命周期事件,执行一些清理操作,如销毁 Bean 实例等。

Spring 的运行概要过程:

  1. 加载配置:Spring Boot 应用启动时,会加载应用的配置文件,包括 application.propertiesapplication.yml 等,默认从 src/main/resources 目录下加载。

  2. 创建 SpringApplication 实例:Spring Boot 使用 SpringApplication 类作为应用的启动入口,会创建一个 SpringApplication 的实例,用于控制应用的启动流程。

  3. 配置参数:通过 SpringApplication 实例,可以设置应用的各种参数,如应用的配置文件、Spring Boot 特有的配置等。可以通过方法调用或命令行参数进行设置。

  4. 初始化 Spring 环境:Spring Boot 会初始化一个 Spring 环境(ConfigurableEnvironment),用于管理应用的配置信息。

  5. 加载自动配置:Spring Boot 使用自动配置(Auto Configuration)功能,根据应用的依赖和配置,自动加载和配置 Spring Boot Starter,这些 Starter 包含了常用的配置和依赖,可以快速构建应用的基本环境。

  6. 创建应用上下文:Spring Boot 根据应用的配置和依赖,创建一个 Spring 应用上下文(ApplicationContext)实例,用于管理应用的 Bean 定义和 Bean 实例。

  7. 执行启动器:Spring Boot 会自动执行所有在应用上下文中注册的启动器(ApplicationRunnerCommandLineRunner 接口的实现类),这些启动器可以用于执行应用启动时需要执行的初始化操作。

简图:

 

;