Spring MVC 核心注解与参数传递实战指南
框架概述
Spring Web MVC 是基于 Servlet API 构建的原始 Web 框架,从开始就包含在 Spring 框架中。它的正式名称'Spring Web MVC'来自其源模块的名称 (Spring-webmvc),但通常被称为'Spring MVC'。
MVC 是 Model View Controller 的缩写,它是软件工程中的一种软件架构模式,它把软件系统分为模型、视图和控制器三个基本部分。
- Model(模型):应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。
- View(视图):应用程序中处理数据显示的部分。通常视图是依据模型数据创建的。
- Controller(控制器):应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
MVC 是一种思想,而 Spring MVC 是对 MVC 思想的具体实现。总结来说,Spring MVC 是一个实现了 MVC 模式,并继承了 Servlet API 的 Web 框架。既然是 Web 框架,那么当用户在浏览器中输入了 url 之后,我们的 Spring MVC 项目就可以感知到用户的请求。
@RequestMapping 基础
@RequestMapping 是 Spring Web 应用程序中最常被用到的注解之一,它是用来注册接口的路由映射的。
路由映射:所谓的路由映射指的是,当用户访问一个 url 时,将用户的请求对应到程序中某个类的某个方法的过程就叫路由映射。
@RequestMapping 即可修饰类,也可以修饰方法,当修饰类和方法时,访问的地址是类 + 方法。
GET 与 POST 支持
很多开发者会问,@RequestMapping 是处理 get 请求还是处理 post 请求的?其实它两者都能处理。
@RequestMapping("/request")
@RestController
public class RequestController {
@RequestMapping("/hello")
public String say(){
return "hello, Spring mvc";
}
}
无论是使用 GET 请求还是 POST 请求访问该接口,只要路径匹配,Spring MVC 都会响应。默认情况下,如果不指定 method 属性,它兼容所有 HTTP 方法。
请求参数传递详解
在实际开发中,如何正确接收前端传来的数据是关键。Spring MVC 提供了多种方式来绑定参数。
无参与单参类型
无参数
如果方法不需要参数,直接定义空参即可。访问对应 URL 后,返回预设结果。
针对 String 类型
@RequestMapping("/r1")
public String r1(String name){
return "接收到参数,name:"+name;
}
这里有个细节需要注意:传递单个参数时,参数名必须保持一致。如果前端传的参数名与 Java 方法参数名不一致,值会是 null。


