Spring Boot 启动流程

Spring Boot 启动流程大致分为以下几个步骤:

  1. 加载 Spring 应用上下文: Spring Boot 在启动时会加载 应用程序的配置文件 (如 application.properties 或 application.yml),然后基于这些配置创建 Spring 应用上下文(ApplicationContext)。

  2. 扫描注册组件: Spring Boot 会扫描应用程序中的所有组件 (如控制器、服务、配置类等),并注册到应用上下文中。

  3. 自动配置: Spring Boot 会根据 classpath 中的依赖和配置,自动配置 应用程序所需的 bean,例如数据源、事务管理器、Web 容器等。

  4. 启动内嵌容器: Spring Boot 内置了常用的 Servlet 容器(如 Tomcat、Jetty、Undertow),在启动过程中会根据配置选择 合适的容器 ,并将应用程序部署到容器中。

  5. 运行应用程序: 容器启动后,Spring Boot 会执行应用程序的启动逻辑,包括执行 CommandLineRunner 或**ApplicationRunner** 接口的实现类中的 run 方法,以及处理 HTTP 请求等。

  6. **加载应用程序监听器和事件:**Spring Boot 支持应用程序监听器和事件机制,可以在应用程序启动、停止、失败等事件发生时执行自定义逻辑。

  7. **应用程序初始化:**在启动过程中,Spring Boot 还会执行一些初始化操作,例如加载配置、注册拦截器、配置消息转换器等。

相关推荐
X***078813 分钟前
从语言演进到工程实践全面解析C++在现代软件开发中的设计思想性能优势与长期生命力
java·开发语言
smileNicky19 分钟前
SpringBoot系列之集成Pulsar教程
java·spring boot·后端
Sammyyyyy38 分钟前
Rust 1.92.0 发布:Never Type 进一步稳定
java·算法·rust
麦麦大数据42 分钟前
J009 美食推荐可视化大数据系统vue+springboot
vue.js·spring boot·mysql·推荐算法·美食·可视化分析·沙箱支付
alonewolf_991 小时前
深入解析G1与ZGC垃圾收集器:原理、调优与选型指南
java·jvm·算法
小镇学者1 小时前
【c++】C++字符串删除末尾字符的三种实现方法
java·开发语言·c++
rfidunion1 小时前
springboot+VUE+部署(1。新建项目)
java·vue.js·spring boot
小翰子_1 小时前
Spring Boot整合Sharding-JDBC实现日志表按月按周分表实战
java·spring boot·后端
weixin_399380691 小时前
OA 系统假死问题分析与优化
java·运维
豆沙沙包?1 小时前
2026年--Lc334-2130. 链表最大孪生和(链表转数组)--java版
java·数据结构·链表