Spring全家桶

Spring 全家桶各框架区分

层级关系一句话:Spring Framework 是底层基石;Spring Boot 是脚手架;Spring Cloud 是微服务工具集;其余是各个领域的扩展项目

1. Spring Framework(Spring 核心框架,地基)

✅ 整个 Spring 生态的底层基础,IOC、DI、AOP、事务、Spring MVC 都属于它内部的模块

  • 核心模块:
    • Core 容器模块:IOC 容器、Bean 管理、BeanDefinition
    • AOP 模块:动态代理、切面能力
    • Spring MVC 模块:web 模块,处理 http 请求(DispatcherServlet)
    • 事务模块:@Transactional 事务底层实现
    • JDBC 模块:数据库基础操作
  • 缺点:原生使用需要大量 XML / 注解手动配置,需要外置 Tomcat

你前面学的 BeanDefinition、单例池、AOP 动态代理,全部来自 Spring Framework
❗区分:Spring MVC 是Spring Framework 里面的一个 web 模块,不是独立框架

2. Spring Boot(脚手架,基于 Spring Framework)

是对 Spring Framework 做封装、自动配置 核心能力:

  1. Starter 启动器:整合一堆依赖,不用手动管理版本
  2. 自动配置 AutoConfiguration:根据引入的 jar 包自动装配 Bean
  3. 内置 Tomcat/Jetty,打包成 jar 直接运行,不用部署外部服务器
  4. Actuator:应用健康检查、监控端点

关系:Spring Boot 底层完全依赖 Spring Framework;现在绝大多数项目都是 SpringBoot

3. Spring Cloud(微服务工具套件,基于 SpringBoot)

不是一个框架,一堆微服务组件的集合,必须跑在 SpringBoot 项目上 解决分布式、微服务场景问题:

  • 服务注册发现(Nacos/Eureka)
  • 远程调用 OpenFeign
  • 网关 Spring Cloud Gateway
  • 负载均衡 LoadBalancer
  • 熔断降级(Sentinel/CircuitBreaker)
  • 分布式配置中心 Config/Nacos 一句话:SpringBoot 开发单个微服务;SpringCloud 管理多个微服务之间的协作
4. Spring Data(数据访问层框架,基于 Spring Framework/SpringBoot)

统一操作数据库的抽象,简化数据库 CRUD 代码

  • Spring Data JPA:关系型数据库
  • Spring Data Redis:操作 Redis
  • Spring Data Mongo:MongoDB 特点:写接口,不用写基础 SQL,自动生成实现;底层封装 JPA/MyBatis 等
5. Spring Security(安全框架)

认证(登录)、授权(权限)、防 CSRF、密码加密

负责登录校验、接口权限控制,保护 Spring 应用

6. Spring AI(AI 集成框架,新项目)

把大模型接入 Java 项目,统一封装各类大模型 API,在 Spring 体系中调用 AI 能力

7. Spring Batch(批处理框架)

大量离线数据批量处理,定时大批量读写数据(日志、报表、数据迁移)

极简层级关系
复制代码
Spring Framework(地基:IOC/AOP/MVC/事务)
└── Spring Boot(脚手架:自动配置、starter、内置web容器,简化开发)
    ├── Spring Cloud(微服务治理套件,多个服务之间协作)
    ├── Spring Data(数据库简化操作)
    ├── Spring Security(登录权限安全)
    ├── Spring Batch(大数据批处理)
    └── Spring AI(大模型集成)

表格

框架 定位 一句话
Spring Framework 底层核心框架 提供 IOC、AOP、MVC、事务基础能力
Spring Boot 脚手架 简化 Spring 开发,自动配置,内置服务器
Spring Cloud 微服务套件 多个微服务之间:注册、调用、网关、熔断
Spring MVC Framework 内 web 模块 处理 http 请求,接收前端接口
Spring Data 数据访问 简化数据库 CRUD
Spring Security 安全 认证、权限控制

注意点

  1. Spring MVC≠SpringBoot:SpringMVC 属于 Spring Framework;SpringBoot 只是默认自动装配 MVC
  2. Spring Cloud 依赖 SpringBoot,不能脱离 SpringBoot 单独使用
  3. SpringBoot 不能替代 Spring Framework,Boot 只是封装,底层还是 Framework 的 IOC、AOP

总结

复制代码
【Spring生态区分】
Spring Framework:底层核心框架,内置IOC、AOP、事务、Spring MVC模块,是所有Spring项目的基石。
Spring MVC:属于Spring Framework内部web模块,处理HTTP请求。
Spring Boot:基于Spring Framework的脚手架,自动配置、starter依赖、内置web容器,简化项目搭建。
Spring Cloud:基于SpringBoot的微服务工具集合,解决分布式服务注册、调用、网关、熔断等治理问题。
Spring Data:简化数据库操作,统一各类数据库访问抽象。
Spring Security:安全框架,负责认证、授权。
Spring Batch:批量离线数据处理;Spring AI:AI大模型集成。

层级:Spring Framework → Spring Boot → Spring Cloud(微服务多服务治理)
相关推荐
行百里er1 小时前
Redis 性能优化——内存、慢查询、Big Key 与 Hot Key
redis·后端
w_zero_one1 小时前
链表(2)
java·数据结构·链表
白杨尚青1 小时前
C++入门篇(十一):string(中)——容量与增删改查:一篇吃透所有常用接口(万字详解)
java·开发语言·c++
打工仔折腾 AI2 小时前
Prometheus接入Pushgateway实战:二进制与Docker部署、指标推送与远程写入
后端·python·docker·容器·性能优化·prometheus·ai agent 实战
SimonKing2 小时前
SSE、WebSocket 连接丢 Redis 里?那可踩大坑了!
java·后端·程序员
倔强的石头1062 小时前
【Linux指南】动静态库系列(九):动态库如何进入进程地址空间:从磁盘 .so 到共享内存映射
java·linux·服务器
YYYing.2 小时前
【设计模式系列 (五) 】原型模式
开发语言·后端·设计模式·原型模式·c/c++
TeamDev2 小时前
JxBrowser 9.5.2 版本发布啦!
java·前端·windows·chromium·混合应用·jxbrowser·浏览器控件
鬼手点金2 小时前
Claude Code示范案例-进阶学习路径
java·服务器·前端·学习·计算机视觉·前向传播