SpringMVC常用的注解有哪些?

本文详细介绍了SpringMVC中常用的10种注解,如控制器、请求映射、参数绑定、响应处理、异常管理及文件上传,帮助开发者高效构建Web应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SpringMVC中有许多注解,它们用于简化开发,提高代码的可读性,其中一些常用的注解包括:

1. 控制器相关注解:

   `@Controller`: 将一个类标识为Spring MVC控制器。

   `@RestController`: 是 `@Controller` 的变体,用于标识RESTful风格的控制器,常用于返回JSON等。

2. 请求映射注解:

   `@RequestMapping`: 映射请求路径和HTTP方法到处理方法。

   `@GetMapping`, `@PostMapping`, `@PutMapping`, `@DeleteMapping`: 缩写形式的 `@RequestMapping`,用于指定不同的HTTP方法。

3. 请求参数注解:

   `@RequestParam`: 用于将请求参数绑定到方法的参数。

   `@PathVariable`: 用于将URI模板变量绑定到方法的参数。

4. 请求体注解:

   `@RequestBody`: 用于将请求的内容体(JSON、XML等)绑定到方法的参数。

5. 表单提交注解:

   `@ModelAttribute`: 用于将请求参数绑定到模型对象。

   `@ModelAttribute`(在方法参数上): 用于将方法的返回值添加到模型中。

6. Session 相关注解:

   `@SessionAttribute`: 用于将模型中的属性暴露给Session。

   `@SessionAttributes`: 指定模型属性应该存储在会话中,以供多个请求之间共享。

7. 响应体注解:

   `@ResponseBody`: 表示方法返回的对象直接写入响应体,而不是解析为视图。

   `@ResponseStatus`: 指定响应的HTTP状态码。

8. 异常处理注解:

   `@ExceptionHandler`: 定义处理特定异常的方法。

   `@ControllerAdvice`: 用于定义全局的异常处理器。

9. 重定向和视图注解:

   `@RedirectAttributes`: 用于在重定向中传递数据。

   `@ModelAttribute`(在方法上): 用于将方法的返回值添加到模型中,以供视图使用。

10. 文件上传相关注解:

    `@RequestPart`: 用于将请求的一部分(通常是文件)绑定到方法的参数。

        这只是SpringMVC中常用注解的一小部分,还有其他一些注解,根据具体需求和场景选择使用。这些注解使得开发者能够更简洁、更灵活地处理请求和响应。