什么是 Spring MVC
MVC
MVC 全称 Model View Controller,是一种软件架构设计模式,把软件系统分为模型、视图和控制器三个部分。
View-视图:在应用程序中专门用来与浏览器进行交互,展示数据的资源。 Model-模型:是应用程序的主体部分,用来处理程序中数据逻辑的部分。 Controller-控制器:类似于分发器,决定对于视图发来的请求,需要用哪一个模型来处理,以及处理完后需要跳回到哪一个视图。即用来连接视图和模型。
简单说:用户发起请求 → Controller 接收并调用 Model 处理逻辑 → Model 返回数据 → Controller 交给 View 展示 → 响应给用户。
Spring MVC
MVC 是一种架构设计模式,也是一种思想,而 Spring MVC 是对 MVC 思想的具体实现。除此之外,Spring MVC 还是一个 Web 框架。 总结来说,Spring MVC 是一个实现了 MVC 模式的 Web 框架。
所以 Spring MVC 最重要的两点就是 MVC 和 Web 框架。
我们上篇文章创建第一个 SpringBoot 项目时曾经勾选过的 Spring Web 框架其实就是 Spring MVC 框架。

到这里,大家可能会产生一个疑问,不是说上节课创建的是 Spring Boot 项目吗,咋又成 Spring MVC 项目了?
Spring Boot 与 Spring MVC 的区别
Spring MVC 是处理 Web 请求的核心框架,Spring Boot 是简化 Spring 开发的工具;Spring Boot 通过 spring-boot-starter-web 自动配置了 Spring MVC 的所有核心组件(DispatcherServlet、注解驱动、JSON 序列化等),让你不用写任何 XML 配置就能直接用 Spring MVC 写接口。
举个例子,我们现在在厨房可以做饭,因为厨房有锅碗瓢盆,油盐酱醋以及各种工具。但在远古时期,人们只需要生起火来就可以做饭,本质上都是做饭。做饭这件事本身就是 MVC,而 Spring Boot 相当于厨房,提供了各种各样的工具方便你做饭。即使不使用 SpringBoot 当然也能实现 MVC
学习 Spring MVC
当我们在浏览器输入 url 之后,SpringMVC 就会感知到用户的请求并给予响应。 我们对于 SpringMVC 的学习,重点也就是学习如何通过浏览器和用户进行交互。其中主要涉及三个方面: 1.建立连接 2.请求 3.响应 学好了这三个方面,也就掌握了 SpringMVC。
建立连接
在 Spring MVC 中使用 @RequestMapping 来实现 URL 路由映射,也就是浏览器连接程序的作用。 上一节中我们写了一个 hello spring 的程序,这次我们新建一个 UserController 类深入实现用户与系统的交互过程。
package com.bite.spring.demo;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/User")
public class UserController {
String {
;
}
}











