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程序运行中发生异常时,将会抛出一个异常类对象。Java中的异常类是通过Throwable类继承而来的,其中定义了两个重要的子类:Error和Exception。Error类表示由Java虚拟机生成的错误,例如系统崩溃或者虚拟机无法执行。而Exception类代表程序可以处理的异常,一般来说,程序中出现的异常都属于Exception类下的子类。下面将…

    Java 2023年4月27日
    00
  • Java实现微信公众号发送模版消息

    Java实现微信公众号发送模版消息 发送模版消息是微信公众号开发中非常常用的功能,通过发送模版消息可以给用户提供更加丰富的服务。本文将详细讲解如何使用Java实现微信公众号发送模版消息的攻略。 准备工作 在开始之前,需要先准备好以下两个东西: 微信公众号的AppID和AppSecret; 微信模版ID。 在此不再赘述如何获取AppID和AppSecret,读…

    Java 2023年5月23日
    00
  • java中简单的截取分割字符串实例

    那我来详细讲解一下“Java中简单的截取分割字符串实例”的攻略。 什么是字符串? 首先,我们需要明确一下,什么是字符串。在计算机领域中,字符串指的是由零个或多个字符组成的有限序列。 在Java中,字符串是一种特殊类型的对象,由java.lang.String类来实现。Java中的字符串是不可变的,也就是说,我们不能直接修改字符串的内容。但可以使用一些方法来对…

    Java 2023年5月27日
    00
  • Java SpringMVC异步处理详解

    以下是关于“Java SpringMVC异步处理详解”的完整攻略,其中包含两个示例。 Java SpringMVC异步处理详解 在Java SpringMVC中,异步处理可以提高Web应用程序的性能和吞吐量。异步处理可以将请求处理过程中的等待时间转换为处理其他请求的时间,从而提高系统的并发处理能力。在SpringMVC中,异步处理可以通过以下两种方式实现: …

    Java 2023年5月16日
    00
  • Java 汇编JVM编写jasmin程序的操作方法

    Java汇编是一种利用Jasmin工具编写JVM汇编代码的技术。在Java虚拟机中,Jasmin程序就相当于Java程序源代码,可以通过JVM将其转化为可执行的二进制代码。以下是Java汇编JVM编写jasmin程序的完整实现攻略。 步骤一:安装Jasmin Jasmin是一个免费的开源工具,可以从其官方网站下载最新版本:http://jasmin.sour…

    Java 2023年5月23日
    00
  • boot-admin整合Liquibase实现数据库版本管理

    Liquibase 和 Flyway 是两款成熟的、优秀的、开源/商业版的数据库版本管理工具,鉴于 Flyway 的社区版本对 Oracle 数据库支持存在限制,所以 boot-admin 选择整合 Liquibase 提供数据库版本管理能力支持。Liquibase 开源版使用 Apache 2.0 协议。 Liquibase的适用情形? 在你的项目进行版本…

    Java 2023年5月5日
    00
  • Java eclipse doc文档生成流程解析

    针对Java eclipse doc文档生成流程解析,以下是完整攻略: 1. 准备工作 安装Java Development Kit(JDK):在Oracle官网下载并安装最新版的JDK,配置好环境变量,以便能够在终端执行javac等命令。 安装Eclipse:去Eclipse官网下载并安装最新版的Eclipse,满足Java开发的需要。 2. 配置Ecli…

    Java 2023年5月19日
    00
  • 基于resty orm的ActiveRecord操作数据指南

    基于resty orm的ActiveRecord操作数据指南 什么是ActiveRecord ActiveRecord 是一种 ORM 模式,在该模式下,对象的属性映射到数据库表的字段,一行记录对应于一个对象实例。 什么是resty orm resty orm 是 OpenResty 中提供的 ORM 实现,它支持 MySQL、PostgreSQL 和 Re…

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