广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >SpringMVC的常用注解
  • 733
分享到

SpringMVC的常用注解

javaspring开发语言 2023-08-31 21:08:47 733人浏览 泡泡鱼
摘要

springMVC的常用注解 1、@Controller @Controller 用于标记在一个类上,使用它标记的类就是一个springmvc Controller 对象。 2、@RequestMap

springMVC的常用注解

1、@Controller

@Controller 用于标记在一个类上,使用它标记的类就是一个springmvc Controller 对象。

2、@RequestMapping

用于处理请求 url 映射的注解,可用于类或方法上。

 使用在类上: 请求 URL 的第一级访问目录。此处不写的话,就相当于应用的根目录 使用在方法上: 请求 URL 的第二级访问目录 

属性:

1、name:相当于方法的注释,使方法更易理解2、value:指定请求的实际地址3、path:与value同义,两者都是用来作为映射使用的4、method:指定请求的method类型, GET、POST、PUT、DELETE等5、params:该属性指定,请求中必须包含params属性规定的参数时,才能执行该请求6、headers:该属性指定,请求中必须包含某些指定的header值,才能够让该方法处理请求7、consumes:指定处理请求的提交内容类型(Content-Type),例如:application/JSON、text/html时,才能够让该方法处理请求8、produces:指定返回的内容类型,返回的内容类型必须是request请求头(Accept)中所包含的类型,此外,produces属性还可以指定返回值的编码

3、@Resource和@Autowired

@Resource和@Autowired都是做bean的注入时使用,其实@Resource并不是Spring的注解,它的包是javax.annotation.Resource,需要导入,但是Spring支持该注解的注入。

相同点:

两者都可以写在字段和setter方法上。两者如果都写在字段上,那么就不需要再写setter方法。

不同点:

@Autowired注解是按照类型(byType)装配依赖对象,默认情况下它要求依赖对象必须存在,如果允许null值,可以设置它的required属性为false。如果我们想使用按照名称(byName)来装配,可以结合@Qualifier注解一起使用。

@Resource默认按照ByName自动注入,由J2EE提供,需要导入包javax.annotation.Resource。
@Resource有两个重要的属性:name和type,而Spring将@Resource注解的name属性解析为bean的名字,而type属性则解析为bean的类型。所以,如果使用name属性,则使用byName的自动注入策略,而使用type属性时则使用byType自动注入策略。
如果既不制定name也不制定type属性,这时将通过反射机制使用byName自动注入策略。

4、@RequestParam

把请求中指定名称的参数给控制器中的形参赋值。

属性:

1、value:请求参数中的名称。2、required:请求参数中是否必须提供此参数。 默认值:true。 表示必须提供,如果不提供将报错。 3、defaultValue:默认值

使用场景:

1@RequestParam 只能用于接收 url 的传参?name=xxx2、fORM表单的提交例: @RequestMapping("/testRequestParam") public String testRequestParam(@RequestParam(value = "name",required = true,defaultValue = "李四") String username){        System.out.println("username="+username);        return "success";    }

5、@RequestBody

  1. 用于获取请求体内容。 直接使用得到是 key=value&key=value…结构的字符串
  2. 把获得json类型的数据转成pojo对象。

属性:

required:是否必须有请求体。默认值是:true。当取值为 true 时,get 请求方式会报错。如果取值为 false, get 请求得到是 null。

注:@RequestBody 不能使用get请求, 在Controller的方法参数里,有且只有一个

6、@ResponseBody

@ResponseBody用于将 Controller 的方法返回的对象,通过 HttpMessageConverter 接口转换为指定格式的数据如: json,xml 等,通过 Response 响应给客户端

使用时机:返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml等)

用法:

  • 在Controller类: 代表该Controller类中所有的方法都使用@ResponseBody,即都直接返回对象数据
  • 在Controller类的方法上: 将该方法的返回值转成json对象返回给客户端

7、@ PathVariable

用于绑定 url 中的占位符。 例如:请求 url 中 /delete/{id}, 这个{id}就是 url 占位符。

url 支持占位符是 spring3.0 之后加入的。是 springmvc 支持 rest 风格 URL 的一个重要标志。

属性:

1、value:用于指定 url 中占位符名称。2、required:是否必须提供占位符。 

使用场景:

获取路径中的参数例: @RequestMapping("testPathVaribale/{id}") public String testPathVaribale(@PathVariable(value = "id") Integer id){     System.out.println("id="+id);       return "success";}

8、@RequestHeader

用于获取请求消息头。

属性:

1、value:提供消息头名称2、required:是否必须有此消息头 

使用场景:

从请求头中获取参数,鉴权(token) Authorization

9、@CookieValue

用于把指定 cookie 名称的值传入控制器方法参数。

属性:

1、value:指定 cookie 的名称。2、required:是否必须有此 cookie。 

使用场景:

      @RequestMapping("/testCookieValue")    public String testCookieValue(@CookieValue("JSESSIONID") String sessionId) {        System.out.println("JSESSIONID = " + sessionId);        return "success";    }

10、@ModelAttribute

代表的是:该Controller的所有方法在调用前,先执行此@ModelAttribute方法,可用于注解和方法参数中,可以把这个@ModelAttribute特性,应用在BaseController当中,所有的Controller继承BaseController,即可实现在调用Controller时,先执行@ModelAttribute方法。

在 Controller 中使用 @ModelAttribute 时,有以下几种应用情况。
1、应用在方法上
2、应用在方法的参数上
3、应用在方法上,并且方法也使用了 @RequestMapping

来源地址:https://blog.csdn.net/skyxxy123/article/details/127532094

--结束END--

本文标题: SpringMVC的常用注解

本文链接: https://www.lsjlt.com/news/387096.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • SpringMVC的常用注解
    SpringMVC的常用注解 1、@Controller @Controller 用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller 对象。 2、@RequestMap...
    99+
    2023-08-31
    java spring 开发语言
  • springmvc常用注解
    推荐教程:Spring教程一、组件型注解:1、@Component 在类定义之前添加@Component注解,他会被spring容器识别,并转为bean。2、@Repository 对Dao实现类进行注解 (特殊的@Component)3、...
    99+
    2020-02-18
    java教程 java spring
  • springmvc常用5种注解
    推荐教程:Spring教程一、组件型注解:1、@Component 在类定义之前添加@Component注解,他会被spring容器识别,并转为bean。2、@Repository 对Dao实现类进行注解 (特殊的@Component)3、...
    99+
    2021-06-18
    java教程 java spring
  • SpringMVC常用的注解有哪些
    SpringMVC常用的注解有:1. @Controller:用于标识一个类是SpringMVC的控制器。2. @RequestMa...
    99+
    2023-09-13
    SpringMVC
  • springmvc常用注解标签详解
     1、@Controller在SpringMVC 中,控制器Controller 负责处理由DispatcherServlet 分发的请求,它把用户请求的数据经过业务处理层处理之后封装成一个Model ,然后再把该Model 返回...
    99+
    2023-05-31
    spring mvc 注解
  • SpringMVC中有哪些常用注解
    SpringMVC中有哪些常用注解?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。MVC简介MVC 全名是 Model View Controller,是模型(model)-视图...
    99+
    2023-06-15
  • 详解SpringMVC常用注解功能及属性
    目录1.@RequestMapping注解1.1@RequestMapping注解的功能1.2@RequestMapping注解的位置1.3@RequestMapping注解的val...
    99+
    2022-11-12
  • SpringMVC中常用注解与使用方法详解
    MVC简介 MVC 全名是 Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写, 是一种用于设计创建 Web 应...
    99+
    2022-11-12
  • SpringMVC中的注解
    SpringMVC中的注解 文章目录 SpringMVC中的注解@RequestMapping注解@RequestMapping中的value属性@RequestMapping中的method属性派生类 @PathVariab...
    99+
    2023-08-17
    java servlet spring mvc springmvc
  • SpringMVC结构简介及常用注解汇总
    目录MVC结构简介 SpringMVC简介 SpringMVC执行流程 常用注解1. @Controller 2. @ResponseBody 3. @RestController ...
    99+
    2022-11-11
  • SpringMVC注解怎么用
    小编给大家分享一下SpringMVC注解怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、在 web.xml 文件中配置前端处理器<xml ...
    99+
    2023-06-26
  • SpringMVC常用注解载入与处理方式详解
    目录一 . 前言二 . RestController 部分三 . RequestMapping 部分四 . RequestParam和PathVariable五 . RequestB...
    99+
    2022-11-13
  • 详解 SpringMVC 的 @RequestMapping 注解
    文章目录 1、@RequestMapping注解的功能2、@RequestMapping注解的位置3、@RequestMapping注解的value属性4、@RequestMapping注解的...
    99+
    2023-09-07
    spring springMVC RequestMapping
  • SpringMVC@RequestMapping注解作用详解
    目录1、@RequestMapping注解的功能2、@RequestMapping注解的位置3、@RequestMapping注解的value属性4、@RequestMapping注...
    99+
    2023-01-14
    SpringMVC @RequestMapping SpringMVC @RequestMapping注解
  • SpringMVC @RequestMapping注解详解
    目录一、@RequestMapping1.@RequestMapping注解的功能2.@RequestMapping注解的位置二、@RequestMapping注解的属性1.valu...
    99+
    2022-11-12
  • SpringMVC-@RequestMapping注解详解
    目录1、@RequestMapping注解的作用2、@RequestMapping注解的位置3、value属性(1)基础用法(2)路径中的占位符(重点)4、method属性5、par...
    99+
    2023-05-17
    SpringMVC @RequestMapping SpringMVC @RequestMapping注解属性
  • 基于springmvc之常用注解,操作传入参数
    目录springmvc常用注解,操作传入参数@RequestParam@RequestBody@PathVariable@RequestHeader@CookieValue@Mode...
    99+
    2022-11-12
  • SpringMVC注解之@ResponseBody注解原理
    目录一、介绍二、作用范围三、源码分析四、总结一、介绍 @ResponseBody 注解的作用是将方法的返回值通过适当的转换器转换为指定的格式之后,写入到 response ...
    99+
    2022-11-12
  • SpringMVC中RequestParam注解怎么用
    这篇“SpringMVC中RequestParam注解怎么用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“SpringMVC...
    99+
    2023-06-29
  • SpringMVC @RequestMapping注解怎么使用
    这篇文章主要讲解了“SpringMVC @RequestMapping注解怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SpringMVC @RequestMap...
    99+
    2023-06-22
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作