SpringMVC 参数绑定详解SpringMVC 参数绑定详解(超全面)

📅 2026/8/3 16:48:33 👁️ 阅读次数 📝 编程学习
SpringMVC 参数绑定详解SpringMVC 参数绑定详解(超全面)

一、什么是参数绑定

参数绑定:

SpringMVC 自动将请求参数赋值给方法参数。

例如:

http://localhost:8080/test?username=admin&age=18

SpringMVC 会自动封装。


二、基本类型绑定

Controller

@RequestMapping("/test") public String test(String username,Integer age){ System.out.println(username); System.out.println(age); return "success"; }

请求地址

http://localhost:8080/test?username=tom&age=20

三、JavaBean 参数绑定

User 实体类

public class User { private String username; private Integer age; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } }

Controller

@RequestMapping("/save") public String save(User user){ System.out.println(user.getUsername()); System.out.println(user.getAge()); return "success"; }

四、数组绑定

Controller

@RequestMapping("/hobby") public String hobby(String[] hobby){ for(String h : hobby){ System.out.println(h); } return "success"; }

请求参数

hobby=篮球&hobby=足球&hobby=羽毛球

五、List 集合绑定

VO 类

public class UserVO { private List<User> list; public List<User> getList() { return list; } public void setList(List<User> list) { this.list = list; } }

前端参数

list[0].username=tom list[0].age=20 list[1].username=jack list[1].age=18

六、@RequestParam 注解

基本使用

@RequestMapping("/demo") public String demo(@RequestParam("name") String username){ System.out.println(username); return "success"; }

请求地址

/demo?name=admin

七、@RequestBody 注解

接收 JSON 数据

@RequestMapping("/json") public String json(@RequestBody User user){ System.out.println(user.getUsername()); return "success"; }

JSON 数据

{ "username":"admin", "age":20 }

八、RESTful 风格

什么是 RESTful

RESTful 风格:

通过 URL 表示资源。

例如:

/user/1 /user/2 /user/3

九、@PathVariable 使用

@RequestMapping("/delete/{id}") public String delete(@PathVariable("id") Integer id){ System.out.println(id); return "success"; }

请求地址

/delete/1

十、面试题

1、@RequestParam 和 @PathVariable 区别?

@RequestParam

用于获取请求参数。

?id=1

@PathVariable

用于获取路径参数。

/user/1

十一、总结

参数绑定是 SpringMVC 最核心的内容之一。

重点掌握:

  • 基本类型绑定

  • JavaBean 绑定

  • 集合绑定

  • @RequestParam

  • @RequestBody

  • RESTful

  • @PathVariable