什么是SpringMVC?简单好理解!

1、SpringMVC是什么?

SpringMVC是一个基于Java的实现了MVC设计模式 的请求驱动类型的轻量级web框架,通过把Model,View,Controller分离,将web层进行职责解耦,把复杂的web应用分成逻辑清晰的几部分。简化开发,减少出错,方便组内开发人员之间的配合。

以上是它的较为官方的概念,下面我将用大白话来诠释什么是SpringMVC

MVC就是把一个项目分成了三部分,如图:(下面目录2有详细解释)

MVC是一种思想,Spring进行了实现,称为SpringMVC(下面目录2有详细解释)

下面这张图片用于浏览器url直接发送请求时:(下面这张图不重要,主要记住上面的图)

SpringMVC当初在前后端不分离(比如JSP)的项目中大展拳脚

近些年来,由前后端分离等原因,SpringMVC的概念又发生了一些变化(下面目录3有详细解释)

2、SpringMVC图解各部分详情

MVC是思想,就是把一个项目分成了三部分

SpringMVC进行了实现,称为SpringMVC

  • Model模型层用来处理业务逻辑,处理数据,内部放置的是项目的逻辑以及方法的实现相关代码
  • Controller控制器层选择处理模型,选择视图,实现前后端交互是View层和Model层交流的桥梁
  • View层面向用户,用于界面显示,人机交互

用户的请求在View层接收后,发送到Controller层,Controller层交给对应的,能处理用户请求的Model层

  • View层相当于用户,Controller相当于前台,Model相当于各个部门
  • 用户带着要求来到前台(View),前台(Controller)听完用户要求后,将其交给对应的销售部、广告部等部门(Model)

下面这张图只是用户的请求直接发给了Controller控制器层,没有经过View层

比如浏览器url路径直接发送请求或者PostMan等工具发送请求时就更适用于下面这张图

3、SpringMVC概念最新版(前后端不分离)

当前阶段,MVC的概念又发生了一些变化,后端开发人员不涉及前端页面的开发,所以也就没有View层

所以View层又有了一层解释,之前返回的是视图,现在返回的是视图所需要的数据

例如:

相关推荐
二哈赛车手8 小时前
新人笔记---ApiFox的一些常见使用出错
java·笔记·spring
栗子~~9 小时前
JAVA - 二层缓存设计(本地缓冲+redis缓冲+广播所有本地缓冲失效) demo
java·redis·缓存
YDS8299 小时前
DeepSeek RAG&MCP + Agent智能体项目 —— RAG知识库的搭建和接口实现
java·ai·springboot·agent·rag·deepseek
candyTong10 小时前
Claude Code 的 Edit 工具是怎么工作的
javascript·后端·架构
未若君雅裁10 小时前
MyBatis 一级缓存、二级缓存与清理机制
java·缓存·mybatis
AI人工智能+电脑小能手10 小时前
【大白话说Java面试题 第65题】【JVM篇】第25题:谈谈对 OOM 的认识
java·开发语言·jvm
GetcharZp11 小时前
GitHub 2.4 万 Star!D2 正在重新定义程序员画图方式
后端
阿维的博客日记11 小时前
Nacos 为什么能让配置动态生效?(涉及 @RefreshScope 注解)
java·spring
雨辰AI11 小时前
SpringBoot3 + 人大金仓读写分离 + 分库分表 + 集群高可用 全栈实战
java·数据库·mysql·政务
辰海Coding12 小时前
MiniSpring框架学习-完成的 IoC 容器
java·spring boot·学习·架构