You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot后端架构疑问:当前实现属于RESTFull SOA还是MVC?

理清你的架构归类:RESTful SOA vs MVC

嘿,我来帮你拆解这个架构的定位问题!其实你的实现同时结合了两种架构思想的特点,咱们一步步说清楚:

你的Spring Boot后端:本质是MVC思想的分层架构

你用@RestController作为请求入口,这对应MVC里的Controller层——负责接收HTTP请求、做参数校验、把请求路由到业务逻辑层;Service层处理核心业务规则,Repository层负责和数据库交互做数据持久化,再加上你的实体类(Model),这完全符合MVC的核心原则:分离关注点,把请求处理、业务逻辑、数据访问、数据模型拆成独立模块,降低耦合度。

虽然传统MVC会包含View层,但因为你做的是前后端分离,后端只返回JSON/XML格式的数据,不需要渲染页面,所以这里的Controller是REST风格的,本质还是MVC架构的变种(可以理解成「不带View层的MVC」,或者更准确的说法是「基于MVC思想的REST服务」)。

整体前后端交互:属于RESTful SOA

SOA(面向服务架构)的核心是把系统拆成独立、可复用的服务,通过标准化协议交互。你的后端封装成了一组RESTful服务,前端Angular应用作为客户端,通过HTTP请求调用这些服务来获取数据、提交操作,这完全符合RESTful SOA的特点:松耦合的服务调用、标准化的REST接口、前后端可以独立迭代演进。

补充:Angular的MVVM和后端架构的关系

Angular 5的MVVM是前端自己的架构模式(ViewModel绑定View,Model和后端REST服务交互),和后端的MVC是前后端各自的架构选型,两者通过REST接口协作,互不冲突,反而形成了清晰的前后端分离架构。

最后总结:

  • 后端核心是基于MVC思想的分层架构(REST Controller + Service + Repository是MVC的典型实践)
  • 整体前后端的交互模式属于RESTful SOA(后端作为独立服务提供REST接口,前端作为客户端调用)

内容的提问来源于stack exchange,提问作者Med Chedly HAJJAR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 07:13:34