Spring Framework、Boot、MVC、Data 与 Cloud 的责任边界
Spring Framework、Boot 和 Cloud 经常一起出现,却不是三个可以互相替代的框架。可以先问:谁创建对象,谁提供自动配置,谁处理分布式协作?下面按这个分工阅读,再核对版本兼容关系。
版本与资料依据
last_verified:2026-08-24version_scope:Spring Framework 7 / Spring Boot 4 linessource_type:Spring official referencestability:version-sensitive
| 项目 | 主要责任 | 不是 |
|---|---|---|
| Spring Framework | IoC/DI、AOP、transactions、events、resource、validation、web foundation | 自动选择所有应用依赖 |
| Spring Boot | opinionated auto-configuration、starter/BOM、external config、embedded runtime、Actuator | Spring Framework 的“升级版” |
| Spring MVC | Servlet 栈的 HTTP request/handler/response 模型 | reactive runtime |
| Spring Data | repository abstractions 与不同数据技术集成 | 单一 ORM 或数据库 |
| Spring Cloud | 分布式系统常见模式的项目集合与 release train | 微服务必需品 |
Boot 会查看类路径、配置属性和各项条件,再决定是否创建默认 Bean。你提供自己的 Bean 后,某些默认配置会因为条件不再满足而退出。想弄清原因,可以查看 ConditionEvaluationReport,而不是反复试加注解。
Cloud 项目还要核对发行列车与 Boot 的兼容矩阵。BOM 帮助管理一组依赖版本,但把它改成“最新”并不能保证所有组件已经配套。
用一条请求辨认每个项目的工作
以“查询一条笔记”为例:Framework 创建并装配服务对象;MVC 找到处理 HTTP 请求的方法;数据访问组件把查询交给数据库;Boot 根据依赖和条件安排常用配置。这几件事可以协作,却不属于同一个责任。
练习:先运行一个最小 Web 项目,再加入数据库依赖,比较自动配置报告。若配置没有生效,先找条件为什么不满足,而不是多加几个注解。Cloud 则在需要服务发现、配置管理等分布式能力时再研究,先查它与 Boot 的配套范围。
本节的核验依据
2026-10-25 查阅。下面的链接支持本节的机制说明;练习场景和选型建议是本教程的教学设计。