SpringBoot的启动流程是怎样的?

  1. 启动入口

    Spring Boot 通过 SpringApplication.run() 启动应用,这是整个启动流程的入口。

  2. 创建应用上下文

    Spring Boot 创建应用上下文,并通过 AnnotationConfigServletWebServerApplicationContext 初始化 Web 环境。

  3. 启动内嵌 Web 服务器

    在 refreshContext() 阶段,Spring Boot 启动内嵌的 Web 服务器,默认使用 Tomcat。

  4. 自动配置 Web 组件

    Spring Boot 通过 @EnableAutoConfiguration 自动配置 Web 组件,如 DispatcherServlet,极大地简化了配置过程。

  5. 请求处理
    DispatcherServlet 负责接收并处理 HTTP 请求,随后将请求分发到相应的控制器。

关键注解 @SpringBootApplication

@SpringBootApplication 注解在整个启动过程中起到了关键作用:

  • 启动了 自动配置机制,简化了大量手动配置的工作。
  • 启用了 组件扫描,自动发现并注册项目中的所有符合条件的组件。
相关推荐
计算机毕业设计杰瑞5 小时前
【计算机毕设精品】基于SpringBoot的一体化教务与学业质量管理系统的设计与实现,附源码_增删改查_java项目_可完美运行部署_网站项目
java·spring boot·课程设计
colinu5 小时前
C++ 异步任务与线程生命周期:`std::async`、`future`、`thread`、`jthread` 与协作式退出
java·jvm·c++
码事漫谈5 小时前
五道题,测测你有没有真的入门 AI
后端
蜗牛互联网5 小时前
Python + JSON Schema 实现工单结构化输出与本地复核
java·人工智能·后端
逐光者9335 小时前
STM32——SPI 屏 · Flash · 高速
java·前端·stm32
wuminyu6 小时前
ForkJoinPool窃取线程在扫描其他WorkQueue时的随机采样算法与Phase线程挂起唤醒机制解析
java·linux·c语言·jvm·c++
Sarvartha6 小时前
内部类知识
java·开发语言
Knight_AL6 小时前
从 EasyExcel 到 Apache Fesod:Java Excel 处理生态的一次重构
java·apache·excel
yuniko-n6 小时前
【JUC】集合线程安全
java
starzy19907 小时前
Flink SlotManager启动流程源码深度剖析:从ResourceManager到Slot分配的完整链路
java·大数据·flink