spring-010: Spring Boot 启动背后的机制

spring-010: Spring Boot 启动背后的机制

💡 原文英文,约500词,阅读约需2分钟。
📝

内容提要

Spring Boot应用启动分为三个主要阶段:1️⃣ 启动阶段:JVM启动,执行SpringApplication.run(),准备环境和配置。2️⃣ 上下文初始化阶段:创建并刷新应用上下文,扫描和注入Bean,启动嵌入式服务器(如有)。3️⃣ 启动后阶段:执行CommandLineRunner和ApplicationRunner,应用准备好处理请求。

🎯

关键要点

  • Spring Boot应用启动分为三个主要阶段:启动阶段、上下文初始化阶段和启动后阶段。
  • 启动阶段包括JVM启动和执行SpringApplication.run(),准备环境和配置。
  • 上下文初始化阶段创建并刷新应用上下文,扫描和注入Bean,启动嵌入式服务器(如有)。
  • 启动后阶段执行CommandLineRunner和ApplicationRunner,应用准备好处理请求。
  • JVM启动并加载主类,执行SpringApplication.run()方法以启动应用。
  • SpringApplication初始化,加载应用配置和环境属性,准备应用上下文。
  • 创建Spring应用上下文,管理Bean、配置和依赖关系。
  • 加载ApplicationContextInitializers和SpringApplicationRunListeners。
  • 准备环境变量、应用配置文件和命令行参数,确定活动和默认配置文件。
  • 刷新应用上下文,扫描注解类,实例化Bean并管理其生命周期。
  • 如果是Web应用,自动启动嵌入式Web服务器,监听请求。
  • 执行CommandLineRunner和ApplicationRunner,运行初始化逻辑。
  • 触发ApplicationReadyEvent,表示应用已完全启动并准备好处理请求。
  • Web应用保持运行状态,等待HTTP请求;非Web应用在运行初始化逻辑后退出。
➡️

继续阅读