截至 2026-03-28,如果你是新项目,正文默认按 Spring Boot 4.0.x 理解问题通常是合理的。
简化判断:
- 新项目:优先看
4.0.x - 存量
3.x项目:先升到最新3.5.x,再迁到4.0 - 代码里看到
javax.*:要立刻警惕,现代线通常应是jakarta.* - 以前用 Undertow:Boot 4.0 线要重新评估
#Spring Boot 概念关系总图
Spring Boot 政务大厅
│
├── 启动
│ ├── @SpringBootApplication ← 市政总开关
│ └── SpringApplication.run() ← 开厅营业
│
├── 自动装配
│ ├── Starter ← 标准装修包
│ ├── Auto-Configuration ← 配套设施自动入驻
│ └── 自定义 Bean 出现时自动后退
│
├── Web 层
│ ├── @RestController ← 办事窗口
│ ├── @RequestBody ← 收表单
│ ├── @PathVariable ← 取编号
│ └── Jackson ← 自动转 JSON
│
├── 业务层
│ ├── @Service ← 审批科
│ ├── @Transactional ← 整体办结或整体回滚
│ └── Validation / Advice ← 校验与统一退件
│
├── 数据层
│ ├── @Entity ← 卷宗
│ ├── Repository ← 档案接口
│ └── PostgreSQL / JPA ← 档案库
│
├── 配置层
│ ├── application.yml ← 城市条例
│ ├── @ConfigurationProperties ← 类型化配置
│ └── Profiles ← 分城区规则
│
├── 工程能力
│ ├── spring-boot-starter-test ← 演练工具包
│ ├── Actuator ← 巡检中心
│ ├── Docker Compose ← 开发期配套设施
│ ├── Testcontainers ← 临时测试基础设施
│ └── build-image ← 容器化交付
│
└── 边界
├── Spring Framework ← 基础法典
├── Spring MVC ← Web 窗口系统
├── Spring Data JPA ← 数据访问抽象
└── Spring Boot ← 把它们组装成可营业的一座楼#一句话收束
如果说裸 Spring 更像“你自己设计城市法典、自己拉施工队、自己装每根水管”,那 Spring Boot 就像:
城市法典不变,但政务大厅的标准图纸、默认配套、巡检系统、交付方式,全都已经替你准备好了。
你真正该学会的,不只是怎么把接口跑起来,而是:
Spring Boot 到底帮你自动做了什么,什么时候应该相信它,什么时候应该接管它。