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 注解在整个启动过程中起到了关键作用:

  • 启动了 自动配置机制,简化了大量手动配置的工作。
  • 启用了 组件扫描,自动发现并注册项目中的所有符合条件的组件。
相关推荐
大白8014 分钟前
iOS 内存深度解析:ARC 到底是怎么管理对象生命周期的
后端
焦玉全18 分钟前
Redis Lua 脚本实战:从入门到精通(Java 版)
后端
阳光宅男@李光熠35 分钟前
【电子通识】一起学习TDK的EMC基础——电池兼容设计方法概述
java·前端·数据库
知识的搬运工旺仔36 分钟前
唯一索引与 NULL 值:PostgreSQL 主键约束与 NULLS NOT DISTINCT
数据库·后端·sql·postgresql
张宜强1 小时前
025 安居租赁 · 房屋租赁平台
java·课程设计
Java_2017_csdn1 小时前
ReentrantLock 与 Redis RLock 对比解读
java
YDS8291 小时前
Small Spring IOC篇:实现 Bean 的定义、注册、获取
java·spring
大勇前进1 小时前
从 OC 到 Swift,老 iOS 开发者踩过的 10 个语法大坑
后端
边境悍匪1 小时前
蜗牛学苑 Java 智能体学习 Day45|Knife4j+SpringBoot3、书城项目整合 MyBatis 思维导图复盘
java·开发语言·vue.js·学习·spring
我的xiaodoujiao1 小时前
Django 基础知识详细图文教程 9-Django 模板引擎 2
开发语言·数据库·后端·django