Spring Boot 是什么

Spring Boot 是 Spring 官方团队提供的一套「开箱即用」框架:它基于 Spring Framework,用约定代替大量样板配置,让开发者用最少的代码搭建出可独立运行的 Java 后端应用。本章介绍它的定位、starter 思想与版本主线,作为整份教程的基础。

为什么需要 Spring Boot

传统 Spring 应用需要手工装配数据源、事务、MVC 等组件,并维护大量 XML 或 Java 配置,搭建成本高、版本组合容易出错。Spring Boot 把「用什么就引入什么」变成「引入什么就自动配好什么」,同时内置 Web 服务器,最终产物是一个可以直接用 java -jar 运行的应用。

核心思想

思想含义本教程对应章节
约定优于配置提供合理默认值,少量覆盖即可04 配置文件、05 多环境
starter 聚合依赖一个依赖带入一组配套库02 快速开始
自动配置依据类路径与配置自动装配 Bean03 自动配置原理

starter 思想

starter 是「场景依赖」:引入一个 starter,就把该场景所需的一组依赖和默认行为一并带入。例如 spring-boot-starter-web 聚合了 Spring MVC、内嵌 Tomcat 与 JSON 序列化组件;spring-boot-starter-data-jpa 聚合了 JPA 规范与 Hibernate 实现。版本由 spring-boot-starter-parent(或官方 BOM)统一锁定,业务代码基本不需要写依赖版本号。

版本主线:3.x 与 4.x

写作本文时(2026 年),官方主线已是 Spring Boot 4.x:4.0.0 于 2025 年 11 月发布,4.1 系列为当前最新版本;3.x 的最后分支 3.5 已结束官方开源(OSS)支持。两条线有共同点也有差异,动手前先看清自己所在的主线:

  • 共同点:两条线都要求 Java 17 起;都使用 jakarta.* 命名空间(javax.* 自 Boot 3 起不再使用);starter 与自动配置模型一致。
  • 差异一:4.x 基于 Spring Framework 7,3.x 基于 Spring Framework 6.x,底层组件基线整体升级。
  • 差异二:4.x 移除了 3.x 中已标记废弃的 API,例如测试里的 @MockBean/@SpyBean 被移除,统一改用 @MockitoBean/@MockitoSpyBean(见 23 章)。
  • 差异三:4.x 对 starter 与模块做了精简重组,个别功能的依赖组织发生变化(例如部分测试切片需要额外模块),遇到导入不到注解时以官方文档为准。
  • 差异四:4.x 增强了原生镜像、可观测性、安全性等能力;日常 CRUD 的编写体验与 3.x 基本一致。

本文示例统一基于 4.x 主线编写,绝大多数写法与 Boot 3.5 兼容;凡是版本敏感之处,正文都会给出「以官方文档为准」的提示。

教程内容概览

本教程共 23 章,从创建项目开始,依次覆盖配置、多环境、日志、Web 定制、参数校验、数据访问(JdbcTemplate / Spring Data JPA / MyBatis)、事务、Redis、缓存、定时任务、异步、邮件发送与单元测试,每章都配有可运行的示例。

小结

Spring Boot 靠 starter 与自动配置把「把项目跑起来」的成本降到最低。确认自己所在的版本主线之后,下一步就是用 start.spring.io 创建第一个项目(见 02 章)。

笔记加载中…