✅ 四者一句话定位
框架 | 核心定位 | 功能概述 |
---|
Spring | 基础框架 | 提供 IOC、AOP、事务等核心功能 |
Spring MVC | Web 框架 | 实现请求处理、控制器分发、视图渲染 |
Spring Boot | 快速开发平台 | 简化 Spring 配置,开箱即用 |
Spring Cloud | 微服务架构平台 | 构建、治理分布式系统 |
✅ 四者的依赖关系图
Spring Cloud(微服务架构)
└── Spring Boot(自动配置,快速启动)
└── Spring(IOC / AOP 等核心容器)
└── Spring MVC(Web 控制器模块)
✅ 全面对比表格(面试背诵模板)
对比维度 | Spring | Spring MVC | Spring Boot | Spring Cloud |
---|
定位 | 基础开发框架 | Web 模块 | 快速构建平台 | 微服务架构解决方案 |
主要功能 | IOC、AOP、事务、事件等 | 路由请求、控制器、视图处理 | 自动配置、简化依赖、启动类管理 | 服务注册发现、配置中心、网关、熔断、限流等 |
是否独立 | ✅ 是 | ❌ 依赖 Spring | ✅ 基于 Spring | ❌ 依赖 Spring Boot |
应用层级 | 所有 Java 项目 | Web 层 | 构建整个服务 | 微服务治理体系 |
优势亮点 | 解耦、面向接口编程 | 请求-响应分离、参数绑定 | 无 XML 配置、快速集成 | 微服务组件全、开箱即用 |
典型模块 | Bean、Context、JDBC、TX | DispatcherServlet、HandlerMapping | AutoConfiguration、Starter、Actuator | Eureka、Feign、Ribbon、Gateway、Sleuth |
✅ 场景举例
假设你开发一个订单系统:
-
Spring
提供了 Service、DAO 的依赖注入、事务控制;
-
Spring MVC
接收 /order/create
请求,把参数转换为对象,调用业务逻辑;
-
Spring Boot
让你只需写一个 @SpringBootApplication
就能启动服务,无需复杂配置;
-
Spring Cloud
让你可以通过 Feign
调用库存服务,通过 Eureka
注册发现服务,通过 Gateway
管理入口。
✅ 面试加分讲解:三大组合模式
模式 | 说明 |
---|
Spring + Spring MVC | 最早期项目结构,适用于单体应用 |
Spring Boot + Spring MVC | 当前主流单体结构,简化配置,便于部署 |
Spring Boot + Spring Cloud | 微服务标准架构,适合中大型系统 |
✅ 面试常见追问
问题 | 简要答案 |
---|
Spring Boot 是什么? | 基于 Spring 的快速开发平台,强调约定优于配置,自动配置 |
Spring Boot 为什么替代传统 Spring? | 少配置、高集成、默认依赖(Starter)、更适合微服务开发 |
Spring Cloud 和 Spring Boot 的关系? | Spring Cloud 是基于 Spring Boot 构建的微服务解决方案 |
Spring Cloud 常用组件? | Eureka(注册中心)、Feign(远程调用)、Gateway(网关)、Config(配置中心)、Sleuth(链路追踪) |
✅ 图示结构(文字版)
[Spring Cloud]
↑(依赖)
[Spring Boot]
↑
[Spring Framework]
└── [Spring Core]
└── [Spring AOP]
└── [Spring Tx]
└── [Spring MVC]
✅ 总结一句话记忆法:
Spring 是“基石”,SpringMVC 是“门户”,SpringBoot 是“捷径”,SpringCloud 是“分布式治理”。