Skip to content
第 41 章 后端 ⏱ 6 分钟阅读

第 41 章:Spring 全家桶生态 ​

学习目标 ​

  • 知道 Spring / SpringBoot / Spring Cloud 的关系
  • 知道 SpringBoot 在企业项目里是干嘛的
  • 选对版本(JDK 17 + SpringBoot 3.2)

一、三层关系 ​

名称定位解决啥
Spring Framework核心框架IoC、AOP、MVC、事务
Spring Boot快速开发简化配置、约定优于配置、一键启动
Spring Cloud微服务套件网关、配置中心、熔断、链路追踪

一句话:Spring Boot = 简化开发的 Spring,Spring Cloud = 微服务套件。

本教程只讲 Spring Boot。90% 的 Java 后端项目用它。

二、Spring Boot 四大特性 ​

2.1 Starter 依赖(一行搞定一个功能) ​

xml
<!-- 一个依赖 = Web 完整功能(Tomcat + MVC + Jackson + 验证器) -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

<!-- 一个依赖 = 数据访问(JPA + HikariCP + 事务) -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

2.2 自动配置(智能推测) ​

java
@SpringBootApplication   // 等于 @Configuration + @EnableAutoConfiguration + @ComponentScan
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

启动时,Spring Boot 扫描 classpath,看到 DispatcherServlet 就配 MVC,看到 DataSource 就配数据源,看到 RedisTemplate 就配 Redis。

2.3 内嵌服务器(一个 Jar 跑起来) ​

bash
# 传统:打 WAR → 部署到 Tomcat → 启动 Tomcat
# Spring Boot:打 FAT JAR → 直接 java -jar
$ java -jar my-app.jar
  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
:: Spring Boot ::               (v3.2.0)

2.4 Actuator(生产级监控) ​

yaml
management:
  endpoints:
    web:
      exposure:
        include: health,info,metrics,prometheus
端点用途
/actuator/health健康检查(数据库/磁盘)
/actuator/metrics性能指标
/actuator/prometheusPrometheus 格式

三、版本选择 ​

组件版本
JDK17 LTS
Spring Boot3.2.x
Maven3.9.x
IntelliJ IDEA2024.x

⚠️ 坑 1:Spring Boot 2.x 已 EOL,不要再用。Spring Boot 3.x 要求 JDK 17+。

四、不适合 Spring Boot 的场景 ​

场景用啥
❌ 极端性能(高频交易)Go / Rust
❌ 前端 UIVue / React
❌ 数据科学Python

五、企业项目典型技术栈 ​

前端(Vue/React)
    ↓ HTTP
Spring Boot(本教程重点)
    ↓
MySQL + Redis + RabbitMQ + Elasticsearch
    ↓
部署:Docker + K8s
    ↓
监控:Prometheus + Grafana

六、本章小结 ​

要点关键
三层关系Spring(核心) → Spring Boot(简化) → Spring Cloud(微服务)
版本JDK 17 + Spring Boot 3.2.x
核心特性Starter 依赖、自动配置、内嵌服务器、Actuator
适合场景90% 企业 Java 后端

动手练习 ​

  1. 去 Spring Initializr 生成一个 demo 项目,跑起来
  2. 访问 /actuator/health 看返回

下一章:第 42 章:IoC 控制反转与 DI →

本站基于 VitePress 构建 · 由 StackHub 团队维护