Spring Boot应用启动背后隐藏着诸多步骤,本文将逐步剖析其逻辑执行顺序。
一、Spring Boot应用启动步骤
1.1 JVM启动与主类加载
public static void main(String[] args)
方法的主类。1.2 执行SpringApplication.run()
方法
SpringApplication.run()
方法,启动Spring Boot应用。这是所有Spring Boot应用的入口点。1.3 初始化SpringApplication
SpringApplication
初始化,包括:1.4 准备ApplicationContext
AnnotationConfigServletWebServerApplicationContext
)。1.5 加载ApplicationContextInitializer
ApplicationContextInitializer
Bean(在上下文启动前修改上下文)。1.6 检测并应用SpringApplicationRunListener
SpringApplicationRunListener
实现,允许外部监听器接收应用启动事件通知。1.7 准备环境(属性、配置文件和配置)
application.properties
或application.yml
以及命令行参数。1.8 刷新应用上下文
@Component
、@Service
、@Repository
和@Controller
注解的类。1.9 启动嵌入式Web服务器(如果适用)
1.10 执行CommandLineRunner
和ApplicationRunner
Bean
CommandLineRunner
或ApplicationRunner
的Bean,则执行它们。1.11 触发ApplicationReadyEvent
事件
ApplicationReadyEvent
事件,表示应用已完全启动并准备好处理请求。1.12 保持应用运行(对于Web应用)
二、逻辑执行顺序:简要概述
为了记住启动流程,可以将其视为三个主要阶段:
1️⃣ 引导阶段
SpringApplication.run()
。2️⃣ 上下文初始化阶段
3️⃣ 启动后阶段
CommandLineRunner
和ApplicationRunner
。以上是春季 - 春季启动 - 启动 - 表演的详细内容。更多信息请关注PHP中文网其他相关文章!