spring mvc常用注解_动力节点Java学院整理

1. 简介

Spring MVC框架是MVC设计模式的经典实现,通过基于注解的方式可以使得开发人员更加便捷地完成控制器的编写和请求的处理。本篇攻略整理了常用的Spring MVC注解,目的是为了帮助初学者加速对Spring MVC开发的理解和掌握。

2. 常用注解说明

  • @RequestMapping

用于指定请求的URL和请求方式

示例:

```java
@Controller
@RequestMapping("/user")
public class UserController {

  @RequestMapping(value = "/list", method = RequestMethod.GET)
  public String userList(Model model) {
      List<User> userList = userService.findAllUsers();
      model.addAttribute("users", userList);
      return "userList";
  }

}
```

  • @RequestParam

用于获取请求参数的值

示例:

```java
@Controller
@RequestMapping("/user")
public class UserController {

  @RequestMapping(value = "/search", method = RequestMethod.GET)
  public String searchUser(@RequestParam("name") String name, Model model) {
      List<User> userList = userService.searchUser(name);
      model.addAttribute("users", userList);
      return "userList";
  }

}
```

  • @ModelAttribute

用于绑定前台表单提交的数据到JavaBean中

示例:

```java
@Controller
@RequestMapping("/user")
public class UserController {

  @RequestMapping(value = "/add", method = RequestMethod.POST)
  public String addUser(@ModelAttribute User user, Model model) {
      userService.addUser(user);
      model.addAttribute("message", "用户添加成功");
      return "success";
  }

}
```

  • @ResponseBody

用于将控制器中的方法返回值直接放到HTTP响应体中

示例:

```java
@RestController
@RequestMapping("/user")
public class UserController {

  @RequestMapping(value = "/{userId}", method = RequestMethod.GET)
  public @ResponseBody User getUser(@PathVariable("userId") int userId) {
      User user = userService.findUserById(userId);
      return user;
  }

}
```

  • @PathVariable

用于获取URL中的动态变量的值

示例:

```java
@RestController
@RequestMapping("/user")
public class UserController {

  @RequestMapping(value = "/{userId}", method = RequestMethod.GET)
  public @ResponseBody User getUser(@PathVariable("userId") int userId) {
      User user = userService.findUserById(userId);
      return user;
  }

}
```

  • @Validated

用于Bean实体类参数的校验

示例:

```java
@Controller
@RequestMapping("/user")
public class UserController {

  @RequestMapping(value = "/add", method = RequestMethod.POST)
  public String addUser(@Validated User user, BindingResult result, Model model) {
      if (result.hasErrors()) {
          model.addAttribute("errors", result.getAllErrors());
          return "error";
      }
      userService.addUser(user);
      model.addAttribute("message", "用户添加成功");
      return "success";
  }

}
```

3. 总结

上述是常用的Spring MVC注解。通过这些注解,开发人员可以在控制器方法中轻松实现URL映射、请求参数获取、响应的返回、动态参数配置、JavaBean绑定、参数校验等功能,大大提高了代码的可读性和可维护性,也更加方便了前后台的交互。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:spring mvc常用注解_动力节点Java学院整理 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • java使用正则表达式查找包含的字符串示例

    关于Java使用正则表达式查找包含的字符串示例,可以按照以下步骤进行: 步骤一:创建Pattern对象 为了使用正则表达式,需要首先创建一个Pattern对象。可以使用Pattern类提供的静态方法compile()来实现,如下所示: Pattern pattern = Pattern.compile("要查找的正则表达式"); 正则表达…

    Java 2023年5月27日
    00
  • Mybatis表的关联查询详情

    您想了解“Mybatis表的关联查询详情”的完整攻略,以下是详细介绍。 Mybatis表的关联查询详情 在实际开发中,一个业务往往需要从多张表中查询数据并进行关联,这时候就需要使用表的关联查询。在 Mybatis 中,我们通常使用 XML 映射文件来实现表的关联查询。 一对一关联查询 一对一关联查询就是在两张表中建立一个一对一的关系,并且查询的两张表有主从关…

    Java 2023年5月20日
    00
  • JSONObject使用方法详解

    JSONObject使用方法详解 什么是JSONObject? JSONObject是Java中的JSON处理库之一,它提供了一些方法来创建,解析和操作JSON数据。它是一个无序的键值对集合,其中的键唯一且不可重复,值可以是任意类型的数据,包括其他JSONObject和JSONArray实例。 JSONObject的用法 创建JSONObject对象 可以使…

    Java 2023年5月26日
    00
  • IntelliJ IDEA 中必有得插件和配置

    让我来详细讲解一下“IntelliJ IDEA 中必有得插件和配置”的攻略。 为了让开发者能够更加高效地编写代码,IntelliJ IDEA 提供了丰富的插件和配置选项。以下是一些必备的插件和配置: 一、必备插件 1.1 Lombok Lombok 是一款能够帮助开发者消除 Java 代码中冗余、繁琐的语法的插件。它能够自动生成 getter、setter、…

    Java 2023年5月20日
    00
  • 时间处理函数工具分享(时间戳计算)

    下面是“时间处理函数工具分享(时间戳计算)”的完整攻略。 时间戳的概念 时间戳(Timestamp)是指格林威治时间1970年01月01日00时00分01秒(北京时间1970年01月01日08时00分01秒)起至现在的总秒数。时间戳是一种以简洁、统一的方式表示时间的方式,通常被用于记录事件发生的时间或进行时间计算。 Javascript中的时间处理 获取当前…

    Java 2023年5月20日
    00
  • JavaWeb登录界面登录失败在同一页面进行提示的解决

    JavaWeb登录界面登录失败在同一页面进行提示的解决 当用户在JavaWeb应用程序中的登录界面输入错误的用户名或密码时,我们需要给与用户提示以完成用户友好体验。该过程有多种方法可以完成,其中一种方法是在同一页面上进行提示。本文将讲解如何在同一页面上显示登录失败的提示信息。 第一步:页面设计我们需要在登录页面添加一个div元素,将错误信息放在里面。但是在一…

    Java 2023年6月15日
    00
  • Java经典用法总结(二)

    让我们来详细讲解一下《Java经典用法总结(二)》的完整攻略。 简介 本文是《Java经典用法总结》系列的第二篇,主要介绍了Java集合类中常用的几种容器及其使用方法,以及常见的集合操作方式和优化。 Java集合类 Java集合类可以被看作是一种数据结构的封装,用于存储一组相关的数据。Java集合类提供了丰富的操作和算法,可以快速对数据进行处理。 Java集…

    Java 2023年5月20日
    00
  • java中Executor,ExecutorService,ThreadPoolExecutor详解

    Java中的Executor框架提供了一组API,可用于优雅地管理多线程、线程池和异步调用。主要由三个接口组成:Executor、ExecutorService和ThreadPoolExecutor。 Executor接口 Executor是一个简单的接口,它提供了一种方法将任务提交到线程中执行。 其定义如下: public interface Execut…

    Java 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部