首页 / Spring Boot 入门教程 / Spring Boot 简介与生态定位

Spring Boot 入门教程

Spring Boot 简介与生态定位

本教程共 48 篇 · 第 1 篇 · 更新于 2026-08-13 · 约 6 分钟阅读

Spring Boot框架入门自动配置Starter微服务Java生态

本节目标:搞懂 Spring Boot 是什么、它解决什么问题,弄清它和 Spring Framework 的关系,学完你能说清楚「为什么要学 Spring Boot」。

写 Java 应用,曾经很麻烦

先回到十多年前的场景。你想用 Java 写一个 Web 应用,要面对这些事:

  • 手动收集依赖 jar 包,还要处理版本冲突
  • 写大量 XML 配置,把每个组件「接」起来
  • 部署到 Tomcat,把 war 包丢进 webapps 目录
  • 改配置要重启,出错只能对着堆栈发呆

这套流程能跑,但很痛苦。开发者的时间大量耗在「搭架子」上,而不是业务本身。

Spring Framework 解决了组件管理的问题,但配置依然繁琐。于是 2014 年,Spring Boot 1.0 发布,目标是让 Spring 应用「开箱即用」。此后 2018 年 2.0、2022 年 3.0,一代代迭代,如今 4.x 已是当前主线。

Spring Boot 是什么

Spring Boot 是 Spring 官方推出的框架,基于 Spring Framework 构建。官方称它是 Spring 平台「有主见的」(opinionated)扩展。

有主见是什么意思?它替你做了大量默认决定:服务器用哪个、配置文件放哪里、日志怎么打。你只要按约定走,它就把活干完。

Note

Spring Boot 不是新语言,也不替代 Spring。它是 Spring 的「一键启动器」,让整个 Spring 生态用起来更省事。

它解决了四大问题

Spring Boot 的核心能力,对应开发者的四类痛点。

自动配置。 依赖一加,配置自动生成。classpath 里有 Web 相关依赖,它就自动配好内嵌服务器和 MVC;有数据库驱动,它就自动配好数据源。默认值不合适,再用配置文件覆盖。

Starter 依赖。 一个 Starter 打包一组配套依赖。想写 Web 接口?加一个 spring-boot-starter-webmvc,Tomcat、Spring MVC 一次齐活,版本还互相兼容。不用再自己一个个挑 jar、对版本。

这就像点菜:你点 Starter 这道菜,厨房(Spring Boot)自动把配菜备齐。

内嵌服务器。 Tomcat 直接嵌进应用里。打包成 jar 后 java -jar 就能跑,不用单独装 Tomcat,不用部署 war 包。

生产就绪。 健康检查、指标监控、外部化配置开箱即用。应用一上线,这些能力就能顶上。

Starter 的命名规则

所有官方 Starter 都遵循同一个命名模式:spring-boot-starter-*,星号是技术类型。常用的有这些:

Starter用途
spring-boot-starter-webmvcWeb 应用与 REST 接口(4.x 名称)
spring-boot-starter-data-jpa数据库持久化
spring-boot-starter-security安全认证
spring-boot-starter-test单元测试
spring-boot-starter-actuator生产监控

记住这个规律,后面章节遇到新 Starter,一眼就知道它是干什么的。

与 Spring Framework 的关系

Spring Framework 是地基,Spring Boot 是盖好的房子。

Spring Framework 提供依赖注入、事务、MVC 等核心能力,但它不管「怎么把项目跑起来」。Spring Boot 负责组装:选依赖、做配置、起服务。

看一个直观对比。原生 Spring 搭 Web 应用,要引入 spring-webspring-webmvc 两个依赖,还要手动配 DispatcherServlet;Spring Boot 一个 Starter 就够:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-webmvc</artifactId>
</dependency>
Tip

教程基线是 Spring Boot 4.1.0,底层是 Spring Framework 7。4.x 里 Web 应用的 Starter 叫 spring-boot-starter-webmvc;旧教程里的 spring-boot-starter-web 是 3.x 及以前的写法。

两者的定位差异,一句话总结:

对比项Spring FrameworkSpring Boot
角色基础框架,提供核心能力快捷装配,负责启动与配置
配置方式大量 XML / Java 配置自动配置 + 少量覆盖
服务器外部部署内嵌服务器,随应用启动
上手成本高,需要搭环境低,生成项目就能跑

自动配置是怎么「猜」的

自动配置听起来玄乎,原理其实简单:Spring Boot 扫描 classpath 里的依赖,按条件决定要不要启用某套配置。

入口是 @EnableAutoConfiguration 注解,它通常被组合进 @SpringBootApplication 里。比如你引入了 Web 相关依赖,自动配置就生效:注册 DispatcherServlet、配好视图解析、起内嵌 Tomcat。

你要是自己写了配置类,自动配置会「退位让贤」,以你的配置为准。这也是它安全的原因——它不是魔法,只是有默认值的聪明助手。

学 Spring Boot,要先学 Spring 吗

常见疑问,直接给答案:不用,可以并行

Spring Boot 的入门路径已经把 Spring 的核心概念封装好了。你先会用(跑起应用、写接口),再慢慢理解背后的依赖注入、Bean 生命周期这些原理,反而更容易学进去。

本教程就是按这个思路排的:前面章节先跑起来,自动配置、Bean 这些原理放在第 6、7 章专门讲。

Spring Boot 不做什么

边界同样重要,它不负责的事有这些:

  • 不替你写业务代码,它只负责把应用「架」起来
  • 不强制架构,分层、分包方式你定,它只提供约定
  • 不含前端,页面渲染靠模板引擎,交互靠你自己写
  • 不是微服务框架本身,注册发现、配置中心是 Spring Cloud 的活

理解边界,才知道什么时候该用它,什么时候该找别的工具。

应用场景

Spring Boot 适合哪些项目?

  • REST API:前后端分离时,后端服务几乎都用它
  • 微服务:独立部署、独立扩展,Spring Boot 天生契合
  • 云原生应用:容器化、Kubernetes 部署非常顺滑
  • 快速原型:几行代码就能起一个可演示的服务
  • 企业级单体:中小团队做内部系统,省心又规范

它的生态定位可以一句话概括:Spring Boot 是 Spring 生态的入口。Spring MVC、Spring Security、Spring Data 这些组件,都以 Starter 的形式挂在 Spring Boot 下面。微服务场景里,Spring Cloud 也建立在 Spring Boot 之上,负责服务注册、配置中心、网关这些分布式能力。

版本基线速览

本教程全部内容按 Spring Boot 4.1.0 校正:

  • 版本:Spring Boot 4.1.0(2026-06-10 发布)
  • 底层:Spring Framework 7
  • Java:17 及以上,推荐 21 LTS
  • 命名空间:Jakarta EE 11(jakarta.*

旧教程常见 javax.*RestTemplate,在 4.x 里都已弃用。后面章节遇到旧写法,会单独标注版本差异。

小结

搞清「它是什么、解决什么」,比背 API 重要得多。概念落地,动手才不慌。

Spring Boot 解决了 Spring 应用「搭建难、配置繁、部署重」的老问题。它自动配置、打包依赖、内嵌服务器,让应用真正可以「写完了就跑」。下一章,我们把环境备齐。

上一篇
已经是第一篇啦
下一篇
环境准备:JDK 与构建工具