这些都是 Spring 家族的重要组成部分,但它们各自定位不同、功能层级不同,可以用一张表格和简要说明来帮你快速理解:
一、四者概念和区别表格
名称 | 功能定位 | 主要用途/核心功能 | 是否依赖其他部分 |
---|
Spring | 基础框架(核心) | IOC、AOP、事务、Bean 管理、通用配置 | 所有 Spring 项目都依赖它 |
Spring MVC | Web 层框架(属于 Spring) | 基于 Servlet 的请求分发、控制器、表单处理、视图解析等 | 依赖 Spring 核心 |
Spring Boot | 快速构建项目(增强工具) | 自动配置、内嵌 Tomcat、一键启动、简化依赖管理 | 基于 Spring 和 Spring MVC |
Spring Cloud | 分布式系统开发(微服务) | 服务注册发现、配置中心、熔断限流、链路追踪、网关等 | 基于 Spring Boot |
二、简单理解
- Spring:基础框架,管理 Bean 和依赖关系,是“根”
- Spring MVC:构建 Web 应用的模块(Controller → Service → Dao),处理 HTTP 请求
- Spring Boot:让你更快地开发 Spring 应用,不再写一堆配置
- Spring Cloud:在 Spring Boot 的基础上,提供微服务相关的“云能力”
三、类比理解(建筑类比):
框架名 | 类比为 |
---|
Spring | 地基和骨架(提供最基本的功能) |
Spring MVC | 房屋结构(Web 层框架) |
Spring Boot | 工具箱(快速建造房子) |
Spring Cloud | 社区配套设施(多个房子之间通信、协调) |
四、使用场景举例
应用类型 | 使用建议 |
---|
普通 Java 应用 | 用 Spring(IOC、AOP) |
Web 应用(单体) | Spring + Spring MVC / Spring Boot |
微服务架构 | Spring Boot + Spring Cloud |