常见使用总结篇(一)

编程入门 行业动态 更新时间:2024-10-19 18:25:54

<a href=https://www.elefans.com/category/jswz/34/1770088.html style=常见使用总结篇(一)"/>

常见使用总结篇(一)

@Autowired和@Resource注解的区别

  1. @Autowired注解是Spring提供的,@Resource注解是J2EE本身提供
  2. @Autowird注解默认通过byType方式注入(没有匹配会通过byName方式),而@Resource注解默认通过byName方式注入(没有匹配会通过byType方式)
  3. @Autowired注解注入的对象需要在IOC容器中存在,否则需要加上属性required=false,表示忽略当前要注入的bean,如果有直接注入,没有跳过,不会报错
  4. @Autowired注解设置参数只有required,@Resource注解有更多(如:name,type...7个参数)
  5. @Autowired注解支持属性注入,构造方法注入,setter注入,@Resource注解不支持构造方法注入

byName就是变量名去匹配bean的id属性,而byType则是变量类型去匹配bean的class属性

@PathVariable

  • 类型 形参注解

  • 位置 SpringMVC控制器方法形参定义前面

  • 作用 绑定路径参数与处理器方法形参间的关系,要求路径参数名与形参名一一对应

  • 它也支持正则表达式,这就决定了它超强的属性,它能在路径模板中使用占位符,可以设定特定的前缀匹配和后缀匹配,自定义格式

@RequestBody @RequestParam @PathVariable区别

@RequestParam 默认使用 接收String类型数据

  • RequestParam 用于接收URL地址传参或表单传参

  • RequestBody 用于接收JSON数据

  • PathVariable 用于接收路径参数,使用 {参数名} 描述路径参数

应用

    • 后期开发中,发送请求参数超过1个时,以JSON格式为主,所以@RequestBody应用较广泛

    • 如果发送非JSON格式数据,选用 @RequestParam 接收请求参数

    • 当参数数量只有一个时,或为数字时,可以采用 @PathVariable接收请求路径变量,通常传递id值

@RequestParam 主要用途就是将请求的参数绑定到方法的形参上,有一个required属性,默认情况下是true,就是必须要传参数,如果想该形参可传可不传参数的话,就将属性值设置为false即可

@RequestParam注解来接收数据,而这个注解只支持表单类型的数据的解析,不支持json数据格式。 那么当前端传过来的数据为json格式的,就会解析失败。 解决办法: 1、最简单的解决办法就是将@RequestParam注解改为@RequestBody注解,因为它支持json数据格式的解析 2、还可以通过Postman来用param传参解决

@RequestParam接收参数的几种前后端对应情况: 一,前端用vue,get请求,参数拼接在url中: 后端用@RequestParam或者request.getParameter(“xxx”)都可以获取所需参数。 二,前端vue,post请求,参数在请求体中,不拼接在url上: 后端无法获取参数,并且报错。

如果想模仿 @RequestParam (required = false) 的表现,我们可以使用@NotNull注解在对应的字段上即可。 在更多的情况下,我们一般使用@NotBlack多于@NotNull,因为@NotBlank考虑了空字符串的情况

params 与 data

在使用axios时,注意到配置选项中包含params和data两者,以为他们是相同的,实则不然。   因为params是添加到url的请求字符串中的,用于get请求。服务器并不会读取http body里面的数据,这样我们传递的就是Params里的请求的参数了。(get请求下data不能用)   而data是添加到请求体(body)中的,服务器读取http body里面的数据那就需要用POST请求了,POST请求的参数就存放在body;(但是post请求下parms可以在特定情况下使用)

1、get请求参数是带在url上的,必须使用params,这个是肯定的,但是post的请求就不一定了 2、 post请求既可以使用params,也可以使用data 区别是:data是放在body里的,在url中看不见参数,但是使用params的话,说明参数在url里面是能够看见的 可以根据不同的情况使用参数传参

实在区分不开,就简单一句话,你能看见的参数,传参就用params,看不见的参数,就用data

Axios post 传参的params 与data 的两种形式(根据java后台接口来选择) 前言 params是添加到url的请求字符串中的,一般用于get请求。 data是添加到请求体(body)中的, 一般用于post请求。 使用场景 一般,情况下都是使用data的传参方式,但有时会发现需要使用params的方式,后台才能获取到数据,这与后台的接口有关,我们前端不能控制。如Java接口

若使用Map接收参数,必须使用 @RequestParam 修饰。但是如果想传list类型的数据,需要使用单独的方法处理(参考链接)。 若使用data传递参数,必须使用一个实体类接收参数,而且需要添加注解 @RequestBody 进行修饰

更多推荐

常见使用总结篇(一)

本文发布于:2023-12-03 07:30:26,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1652684.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:常见

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!