Spring MVC 与三层架构

文章目录

  • [Spring MVC](#Spring MVC)
  • 三层架构
  • [Spring MVC 和 三层架构的区别](#Spring MVC 和 三层架构的区别)

Spring MVC

 MVC (Model-View-Controller)是⼀种软件架构设计模式

 Spring Web MVC是基于 Servlet API 构建的原始 Web 框架,从⼀开始就包含在 Spring 框架中。Spring Boot 只是实现Spring MVC的其中⼀种⽅式,Spring在实现MVC时, 也结合⾃⾝项⽬的特点, 做了⼀些改变,

三层架构

 ⽬前现在更主流的开发⽅式是 "前后端分离" 的⽅式, 后端开发⼯程师不再需要关注前端的实现, 所以对于 Java 后端开发者, ⼜有了⼀种新的分层架构: 把整体架构分为表现层、业务逻辑层和数据层. 这种分层⽅式也称之为"三层架构"

  1. 表现层(Controller): 就是展⽰数据结果和接受⽤⼾指令的,是最靠近⽤⼾的⼀层;
  2. 业务逻辑层(Service): 负责处理业务逻辑, ⾥⾯有复杂业务的具体实现;
  3. 数据层(Dao): 负责存储和管理与应⽤程序相关的数据,包括数据的增、删、改、查。

Spring MVC 和 三层架构的区别

 MVC 中,视图和控制器合起来对应三层架构中的表现层,模型对应三层架构中的业务逻辑层,数据层,以及实体类,二者其实是从不同角度对软件工程进行了抽象

  • MVC 模式强调数据和视图分离,将数据展示和数据处理分开,通过控制器对两者进行组合
  • 三层架构强调不同维度数据处理的高内聚合低耦合 ,将交互界面,业务处理和数据库操作的逻辑分开角度不同也就谈不上互相替代了,在日常开发的可以经常看到两种共存情况,比如我们设计模型层的时候往往也会拆分出业务逻辑层(Service 层)和数据访问层(Dao 层)
相关推荐
ZhengEnCi2 小时前
Q01-高并发点赞系统架构设计
架构
笨鸟飞不快5 小时前
从 MVC 到 DDD:一次真实的渐进式迁移实录
后端·架构
这个DBA有点耶1 天前
GROUP BY优化全解:如何写出既不丢数据又飞快的分组查询
数据库·mysql·架构
锋行天下1 天前
我试图优化 Vite 的拆包,结果首屏慢了 10 倍
前端·vue.js·架构
小鼻子的猫1 天前
独立开发 30 天:2.5 万行代码,23 个 Bug,5 次重构——一个 AI 社区的诞生
架构
咖啡八杯1 天前
GoF设计模式——命令模式
java·设计模式·架构
candyTong1 天前
阿里开源 AI Code Review 工具:ocr review 的执行链路解析
javascript·后端·架构
doiito2 天前
【Agent Harness】TPS的“自工程完结”教会了我一件事:别把Bug留给下一道工序
架构·rust
烬羽2 天前
中英文 token 数量差一倍?两段 JS 代码搞懂 LLM 底层是怎么"读"文字的
javascript·程序员·架构