《Spring Boot 入门》全 61 篇,是一套面向 Java 开发者的 Spring Boot 4.1 系统教材:从「它解决了什么问题」讲到能独立交付一个服务,示例基于 Spring Boot 4.1.1 + Java 21 实跑。
本页是《Spring Boot 入门》的全书目录:按章节顺序列出全部 61 篇,点击标题直达正文。也可以从各节末尾的「阅读导航」按顺序通读。
全书概览
| 项目 | 内容 |
|---|---|
| 书稿 | 《Spring Boot 入门》 |
| 篇数 | 61 篇(正文 18 章 54 节 + 序 / 前言 / 目录 + 附录 A–D) |
| 领域 | Spring Boot 4.x 框架基础与 Web 后端开发 |
| 阅读方式 | 从目录篇 进入按顺序通读,或按章节表跳读 |
| 实测版本 | Spring Boot 4.1.1(Spring Framework 7.0.9)+ Java 21.0.12.1 + Maven 3.9.12 |
| 对照版本 | Spring Boot 3.5.16(Spring Framework 6.2.19),差异处单独标注 |
| 上级专题 | 书稿专题 |
全书目录
前置:序、前言与目录
| 节 | 文章 | 核心内容 |
|---|---|---|
| — | 序:为什么还要写一套 Spring Boot 教程 | 说明这套书与站内既有 Java 专题的分工,以及它想解决什么问题 |
| — | 前言:这套书怎么读 | 版本口径、示例约定、代码获取方式与阅读建议 |
| — | 目录与学习路径 | 全书导航页:定位、读者画像、三条学习路径与 54 节逐节索引 |
第 1 章 认识 Spring Boot
| 节 | 文章 | 核心内容 |
|---|---|---|
| 1.1 | 1.1 定位、生态与它解决的问题 | 从传统 Spring 的 XML 配置痛点讲起,说清三条核心主张与它没解决的问题 |
| 1.2 | 1.2 Spring Boot 4 带来了什么 | 模块化重构、Starter 改名、Jackson 3、Jakarta EE 11,以及 4.x 适合谁用 |
| 1.3 | 1.3 版本线的选择 | 3.5.x 与 4.1.x 的逐项对照与决策树,附本机双线实测数据 |
第 2 章 开发环境与项目骨架
| 节 | 文章 | 核心内容 |
|---|---|---|
| 2.1 | 2.1 JDK 与 Maven 环境准备 | 装好 Java 21 与 Maven 3.9,配好 JAVA_HOME 与镜像加速 |
| 2.2 | 2.2 用 start.spring.io 生成项目 | 逐字段说明生成器怎么填,并逐段解读生成出来的 pom.xml |
| 2.3 | 2.3 目录结构与启动类 | 标准 Maven 目录树、启动类逐行解释,以及包扫描规则这个高频坑 |
第 3 章 第一个应用
| 节 | 文章 | 核心内容 |
|---|---|---|
| 3.1 | 3.1 写第一个 REST 接口 | 用 @RestController 写出第一个接口,理解返回对象如何变成 JSON |
| 3.2 | 3.2 内嵌服务器与启动流程 | 逐行解读真实启动日志,理解 SpringApplication.run() 做了什么 |
| 3.3 | 3.3 打包成可执行 jar | 看懂可执行 jar 的内部结构与 4.x 移除的打包特性 |
第 4 章 自动配置
| 节 | 文章 | 核心内容 |
|---|---|---|
| 4.1 | 4.1 @SpringBootApplication 拆解 | 一个注解背后的三合一,以及它们各自负责什么 |
| 4.2 | 4.2 自动配置如何生效 | 从 @EnableAutoConfiguration 到 imports 文件,并用 --debug 报告验证 |
| 4.3 | 4.3 条件装配与开关 | @Conditional 家族逐个讲透,理解默认配置为什么能被覆盖 |
第 5 章 IoC 与依赖注入
| 节 | 文章 | 核心内容 |
|---|---|---|
| 5.1 | 5.1 容器与 Bean | IoC 反转了什么,以及把一个类变成 Bean 的四种方式 |
| 5.2 | 5.2 注入方式与作用域 | 三种注入方式的取舍、五种作用域,以及 prototype 的经典陷阱 |
| 5.3 | 5.3 生命周期与初始化回调 | Bean 从实例化到销毁的完整流程,以及三种初始化回调的顺序 |
第 6 章 配置管理
| 节 | 文章 | 核心内容 |
|---|---|---|
| 6.1 | 6.1 application.yml 与 Profile | YAML 语法坑、多环境配置文件的组织方式与激活顺序 |
| 6.2 | 6.2 @ConfigurationProperties 类型安全配置 | 为什么它比 @Value 好,松散绑定、构造器绑定与配置校验 |
| 6.3 | 6.3 外部化配置与优先级 | 完整的配置源优先级表,以及环境变量命名转换规则 |
第 7 章 Starter 机制
| 节 | 文章 | 核心内容 |
|---|---|---|
| 7.1 | 7.1 Starter 的组成 | 拆开 spring-boot-starter-webmvc,看清 starter 的两段式结构 |
| 7.2 | 7.2 写一个自定义 Starter | 从零写出可用的 starter,含完整 pom、代码与验证过程 |
| 7.3 | 7.3 自动配置的调试与排查 | 读懂 --debug 报告,从 Negative matches 反推 Bean 为什么没生效 |
第 8 章 Spring MVC 与 REST
| 节 | 文章 | 核心内容 |
|---|---|---|
| 8.1 | 8.1 控制器与路由映射 | 各类映射注解的用法、路径拼接规则,以及 4.x 新增的 API Versioning |
| 8.2 | 8.2 请求参数与响应体 | 六种取参方式全解,以及返回类型该怎么选 |
| 8.3 | 8.3 RESTful 设计约定 | 资源命名、状态码搭配、幂等性,以及分页排序的查询参数约定 |
第 9 章 数据校验
| 节 | 文章 | 核心内容 |
|---|---|---|
| 9.1 | 9.1 Bean Validation 常用注解 | @NotNull 与 @NotBlank 到底差在哪,以及校验失败的响应体长什么样 |
| 9.2 | 9.2 自定义校验器 | 写一个 ISBN 格式校验注解,并配好国际化消息 |
| 9.3 | 9.3 分组校验与嵌套校验 | 同一个 DTO 在新增与修改时用不同规则,以及级联校验的坑 |
第 10 章 错误处理
| 节 | 文章 | 核心内容 |
|---|---|---|
| 10.1 | 10.1 @ExceptionHandler | 在控制器内部处理异常,理解它的作用范围与局限 |
| 10.2 | 10.2 @ControllerAdvice 全局处理 | 把异常处理集中起来,覆盖框架抛出的内置异常 |
| 10.3 | 10.3 统一响应结构 | 设计一个前后端都舒服的响应包装体,并讨论它的代价 |
第 11 章 静态资源、跨域与拦截
| 节 | 文章 | 核心内容 |
|---|---|---|
| 11.1 | 11.1 静态资源映射 | static/ 目录的默认规则、缓存控制与自定义映射 |
| 11.2 | 11.2 CORS 跨域 | 浏览器为什么拦你、预检请求是什么,以及三种配置方式 |
| 11.3 | 11.3 拦截器与过滤器 | 两者的执行时机与适用场景,以及一个登录校验的完整实现 |
第 12 章 Spring Data JPA 入门
| 节 | 文章 | 核心内容 |
|---|---|---|
| 12.1 | 12.1 数据源与连接配置 | 配置 HikariCP 数据源,理解连接池的基本参数 |
| 12.2 | 12.2 实体与 Repository | 用 JPA 定义实体,以及 Repository 接口的四种形态 |
| 12.3 | 12.3 派生查询方法 | 靠方法名生成查询的规则、边界与常见误用 |
第 13 章 实体关系与查询
| 节 | 文章 | 核心内容 |
|---|---|---|
| 13.1 | 13.1 关联映射 | 一对一、一对多、多对多的映射方式与级联策略 |
| 13.2 | 13.2 JPQL 与原生 SQL | 用 @Query 写复杂查询,以及两者各自的适用场景 |
| 13.3 | 13.3 分页与排序 | Pageable 的用法、分页查询的执行过程与性能注意点 |
第 14 章 事务管理
| 节 | 文章 | 核心内容 |
|---|---|---|
| 14.1 | 14.1 @Transactional 基本用法 | 声明式事务怎么起作用,以及最基础的用法 |
| 14.2 | 14.2 传播行为与隔离级别 | 七种传播行为的语义与选择依据 |
| 14.3 | 14.3 事务失效的常见场景 | 自调用、异常被吞、非 public 方法——失效的原因与规避方式 |
第 15 章 数据库版本管理
| 节 | 文章 | 核心内容 |
|---|---|---|
| 15.1 | 15.1 Flyway 入门 | 用版本化脚本管理表结构,以及 4.x 需要独立 starter 这件事 |
| 15.2 | 15.2 版本化迁移脚本 | 脚本命名规范、可重复迁移与回滚策略 |
| 15.3 | 15.3 多环境数据管理 | 开发、测试、生产三套数据初始化与迁移的组织方式 |
第 16 章 日志
| 节 | 文章 | 核心内容 |
|---|---|---|
| 16.1 | 16.1 日志配置与级别 | 日志级别、输出格式与文件轮转的配置方式 |
| 16.2 | 16.2 结构化日志 | 输出 JSON 日志以便采集,以及 MDC 的使用 |
| 16.3 | 16.3 日志实践要点 | 该记什么、不该记什么,以及日志级别怎么选 |
第 17 章 测试
| 节 | 文章 | 核心内容 |
|---|---|---|
| 17.1 | 17.1 单元测试 | 用 JUnit 5 与 Mockito 测试 Service 层 |
| 17.2 | 17.2 切片测试 | @WebMvcTest 与 @DataJpaTest,以及 4.x 必须补的注解 |
| 17.3 | 17.3 集成测试 | 用 @SpringBootTest 做端到端测试,理解它为什么慢 |
第 18 章 综合实战
| 节 | 文章 | 核心内容 |
|---|---|---|
| 18.1 | 18.1 需求与设计 | 把前面 17 章的知识用在一个完整项目的设计上 |
| 18.2 | 18.2 实现 | 逐层实现这个项目,把散落的知识点串起来 |
| 18.3 | 18.3 打包与运行 | 完成构建、运行与验证,并说明下一步该学什么 |
附录
| 篇目 | 文章 | 核心内容 |
|---|---|---|
| A | 附录 A:常用注解速查 | 按用途分类的注解清单,含 3.x 到 4.x 的改名对照 |
| B | 附录 B:配置项速查 | 高频配置项与它们的默认值、常见取值 |
| C | 附录 C:Maven 与 Gradle 对照 | 同一份依赖与插件在两种构建工具下的写法对照 |
| D | 附录 D:常见问题排查 | 按症状索引的排查手册,覆盖启动、配置、数据库与测试四类问题 |
怎么用这份索引
- 顺序通读:从序 开始,或直接从第 1 章 1.1 进入,每一节末尾都有上一节 / 下一节的导航。
- 按主题跳读:用上表的「核心内容」列确认目标,再点进去。若不确定从哪开始,先看目录篇的学习路径 。
- 查资料:附录 A 与附录 B 是查阅频率最高的两篇,建议收藏。
相关阅读
- Java 专题 — Spring Boot、Spring Cloud、JVM 与高并发的专题级深度文章
- Java 企业级开发专题 — 企业级工程实践与治理
- 书稿专题 — 全部在线电子书与创作手记