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

相关推荐
卡尔特斯8 小时前
Android Kotlin 项目代理配置【详细步骤(可选)】
android·java·kotlin
白鲸开源8 小时前
Ubuntu 22 下 DolphinScheduler 3.x 伪集群部署实录
java·ubuntu·开源
ytadpole8 小时前
Java 25 新特性 更简洁、更高效、更现代
java·后端
纪莫8 小时前
A公司一面:类加载的过程是怎么样的? 双亲委派的优点和缺点? 产生fullGC的情况有哪些? spring的动态代理有哪些?区别是什么? 如何排查CPU使用率过高?
java·java面试⑧股
JavaGuide9 小时前
JDK 25(长期支持版) 发布,新特性解读!
java·后端
用户3721574261359 小时前
Java 轻松批量替换 Word 文档文字内容
java
白鲸开源9 小时前
教你数分钟内创建并运行一个 DolphinScheduler Workflow!
java
Java中文社群10 小时前
有点意思!Java8后最有用新特性排行榜!
java·后端·面试
代码匠心10 小时前
从零开始学Flink:数据源
java·大数据·后端·flink
间彧10 小时前
Spring Boot项目中如何自定义线程池
java