JavaEE——SpringMVC中的常用注解

目录

1、@RestController

(1)、@Controller

(2)、@ResponseBody

2、RequestMappping

(1)、定义

(2)、使用

【1】、修饰方法

【2】、修饰类

【3】、指定方法类型

【4】、简化版指定方法

(3)、获取参数

【1】、传递单个/多个参数

【2】、传递对象

3、@RequestParam

4、@RequestBody

5、@PathVariable

6、@RequestPart

7、@CookieValue

8、@SessionAttribute

9、@RequestHeader


1、@RestController

@RestController = @ResponseBody + @Controller + ......

(1)、@Controller

@使用Controller的注解可以声明该类为 Spring MVC 中的Controller类,分发处理器将会扫描使用该注解类的方法,并检测该方法是否使用了@RequestMapping 注解。

(2)、@ResponseBody

默认请求下Spring MVC 和 Spring Boot 返回的是视图都是前后端分离的,后端只需要返给给前端数据,此时我们就需要使用 @ResponseBody 注解来处理。@ResponseBody 返回的值如果是字符会转换成 text/html,如果返回的是对象则会转换成 application/json 再返回给前端。@ResponseBody 可以用来修饰方法或类,修饰类表示类中的所有方法都会返回 html或json。
综上所述我们就可以直接使用 @RestController 的注解来代替 @ResponseBody 和@Controller 来简化操作。

2、RequestMappping

(1)、定义

@RequestMapping 是 Spring Web 中最常被用到的注解之一,它是用来注册接口的路由映射的。而路由映射则是指当用户访问一个 url 时,将用户的请求对应到程序中某个类的某个方法的过程。

(2)、使用

【1】、修饰方法

【2】、修饰类

@RequestMapping 既可修饰类也可以修饰方法。当同时修饰类和方法时,访问的地址为类注解名 / 方法注解名

【3】、指定方法类型

可以通过method方法来指定类型:GET、POST 、PUT......

【4】、简化版指定方法

@GetMapping("/f4")=@RequestMapping(value = "/f4",method = RequestMethod.GET)

POST 、PUT等也可以使用相同的简化方法

(3)、获取参数

【1】、传递单个/多个参数

【2】、传递对象

3、@RequestParam

如果前端的参数是一个非必传的参数,我们可以使用 @RequestParam 来重命名传输过来的参数,此外使用时需要通过设置 @RequestParam 中的 required=false 来避免不传递时报错。

4、@RequestBody

可以通过使用 @RequestBody 注解来接收json对象。

5、@PathVariable

可以通过@PathVariable来获取url中的参数

6、@RequestPart

可以通过 @RequestPart 注解来上传文件,并保存文件位置

7、@CookieValue

可以通过 @CookieValue 注解来更为简洁的获取Cookie

8、@SessionAttribute

可以通过 @SessionAttribute 注解来更为简洁的获取 Session

9、@RequestHeader

可以通过 @RequestHeader 注解来更为简洁的获取 Header

相关推荐
Wang's Blog1 小时前
Java 项目实战: 交友项目 - 黑名单:取消黑名单
java·windows·交友
杨杨杨大侠1 小时前
DeepSeek Harness:连 Agent Loop 都能替换的插件架构
java·人工智能·agent
SL_staff1 小时前
私有化低代码运维三重雷区:JVS开源栈中的Kafka/ES/RabbitMQ治理实践
java·低代码·全栈
yuniko-n1 小时前
【算法】约瑟夫环问题
java·算法
郝亚军1 小时前
manifest 中 `sha256` 与 `signValue` 的作用
java·开发语言·数据结构
譕痕2 小时前
stripe 实例
java·开发语言·stripe·checksession
墨子夕2 小时前
设计模式——Java × Python 双语言精讲 · 23 个经典模式 + 现代演进(前言篇)
java·开发语言·设计模式
骇客野人2 小时前
Linux 全套实操方案(含目录详解、文件传输、日志、文件规范、环境变量、Java 应用部署运维)
java·linux·运维
.Bryce.2 小时前
MCP+A2A+ANP,Agent通信协议的完整知识地图
java·人工智能·后端·agent·通信协议
SL_staff2 小时前
规则引擎选型陷阱:为什么QPS不是JVS-Rules对比Drools的核心指标
java·开源·全栈