Spring MVC 注解有哪些
Spring MVC 提供了丰富的注解来简化 Web 应用的开发。以下是一些常用的注解及其功能分类:
一、请求映射注解
用于将 HTTP 请求映射到控制器的处理方法。
@RequestMapping
通用的请求映射,可指定路径、方法、请求头、参数等。
示例:

派生注解(简化版)
@GetMapping:处理 HTTP GET 请求。
@PostMapping:处理 HTTP POST 请求。
@PutMapping:处理 HTTP PUT 请求。
@DeleteMapping:处理 HTTP DELETE 请求。
@PatchMapping:处理 HTTP PATCH 请求。
二、控制器注解
用于定义控制器类。
@Controller
标记一个类为 Spring MVC 控制器,需配合 @RequestMapping 使用。
@RestController
@Controller + @ResponseBody 的组合注解,直接返回 JSON/XML 等数据。
示例:
java

三、请求参数注解
用于从请求中获取参数。
@PathVariable
从 URL 路径中获取变量(如 /users/{id})。
示例:
java

@RequestParam
从 URL 查询参数中获取值(如 ?name=John)。
示例:
java

@RequestBody
将请求体(如 JSON/XML)转换为 Java 对象。
示例:
java

@RequestHeader
获取请求头中的值。
示例:
java

@CookieValue
获取 Cookie 中的值。
示例:
java

四、会话与请求域注解
用于管理会话和请求范围内的数据。
@SessionAttributes
将模型中的属性存储到 HTTP 会话中。
示例:
java

@ModelAttribute
绑定请求参数到模型对象,或从会话中获取模型属性。
示例:
java

五、异常处理注解
用于处理控制器中的异常。
@ExceptionHandler
处理控制器方法抛出的特定异常。
示例:
java

@ControllerAdvice
全局异常处理类,配合 @ExceptionHandler 使用。
示例:
java

六、数据验证注解
用于参数校验(依赖 JSR-303 规范)。
@Valid
触发 Bean Validation 校验。
示例:
java

常用校验注解
@NotNull:字段不为 null。
@NotEmpty:字符串不为空或空字符串。
@Size:字符串 / 集合长度限制。
@Email:验证邮箱格式。
@Min/@Max:数值范围限制。
七、其他注解
@ResponseBody
将方法返回值直接写入响应体,常用于 RESTful 接口。
@ResponseStatus
设置 HTTP 响应状态码。
示例:
java

@CrossOrigin
解决跨域请求问题。
示例:
java

@Async
异步处理请求(需配合 @EnableAsync)。
总结
Spring MVC 注解通过简化配置和提供清晰的语义,大大提高了 Web 开发效率。合理使用这些注解可以让代码更简洁、更易维护。如果需要更具体的示例或深入讲解某个注解,请告诉我!

浙公网安备 33010602011771号