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

相关推荐
华仔啊2 分钟前
RabbitMQ 如何保证消息不丢失和不重复消费?掌握这 4 个关键点就够了
java·后端·rabbitmq
编程饭碗14 分钟前
【Java循环】
java·服务器·算法
学到头秃的suhian40 分钟前
SpringMVC的请求流程
java
不爱吃米饭_42 分钟前
OpenFeign的相关问题
java
tuokuac1 小时前
java中的浮点数基本操作
java·开发语言
源码技术栈1 小时前
springboot支持多家机构共同使用的java门诊信息管理系统源码
java·源码·诊所·医保·门诊管理·医生工作站·处方
Empty_7771 小时前
K8S-Job & Cronjob
java·linux·docker·容器·kubernetes
AI云原生2 小时前
在 openEuler 上使用 x86_64 环境编译 ARM64 应用的完整实践
java·运维·开发语言·jvm·开源·开源软件·开源协议
科普瑞传感仪器2 小时前
航空航天制造升级:机器人高精度力控打磨如何赋能复合材料加工?
java·前端·人工智能·机器人·无人机·制造