当前位置: 首页 > wzjs >正文

视觉品牌网站建设如何优化seo

视觉品牌网站建设,如何优化seo,哪个网站可以免费学设计,亚马逊海外版网站在 Spring 5 之前,如果我们想要调用其他系统提供的 HTTP 服务,通常可以使用 Spring 提供的 RestTemplate 来访问,不过由于 RestTemplate 是 Spring 3 中引入的同步阻塞式 HTTP 客户端,因此存在一定性能瓶颈。根据 Spring 官方文档…

在 Spring 5 之前,如果我们想要调用其他系统提供的 HTTP 服务,通常可以使用 Spring 提供的 RestTemplate 来访问,不过由于 RestTemplate 是 Spring 3 中引入的同步阻塞式 HTTP 客户端,因此存在一定性能瓶颈。根据 Spring 官方文档介绍,在将来的版本中它可能会被弃用。

​ 作为替代,Spring 官方已在 Spring 5 中引入了 WebClient 作为非阻塞式 Reactive HTTP 客户端。

一 基本介绍

1 什么是WebClient

  • 从 Spring 5 开始,Spring 中全面引入了 Reactive 响应式编程。而 WebClient 则是 Spring WebFlux 模块提供的一个非阻塞的基于响应式编程的进行 Http 请求的客户端工具。
  • 由于 WebClient 的请求模式属于异步非阻塞,能够以少量固定的线程处理高并发的 HTTP 请求。因此,从 Spring 5 开始,HTTP 服务之间的通信我们就可以考虑使用 WebClient 来取代之前的 RestTemplate。

2 WebClient 的优势

(1)与 RestTemplate 相比,WebClient 有如下优势:

  • 非阻塞,Reactive 的,并支持更高的并发性和更少的硬件资源。
  • 提供利用 Java 8 lambdas 的函数 API。
  • 支持同步和异步方案。
  • 支持从服务器向上或向下流式传输。

(2)RestTemplate 不适合在非阻塞应用程序中使用,因此 Spring WebFlux 应用程序应始终使用 WebClient。在大多数高并发场景中,WebClient 也应该是 Spring MVC 中的首选,并且用于编写一系列远程,相互依赖的调用。

3 使用配置

在pom文件里,导入一下配置即可

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-webflux</artifactId>
</dependency>

二 创建WebClient实例

1 使用 create() 创建

WebClient.create(): 这是 WebClient 的静态工厂方法之一。调用 WebClient.create() 将直接创建一个默认配置的 WebClient 实例。这个实例可以立即使用,而无需进行进一步的配置。它使用默认的 WebFlux 配置和默认的 WebClientOptions。

WebClient webClient = WebClient.create();
public Order queryOrderById(Long orderId) {// 1. 查询订单Order order = orderMapper.findById(orderId);// 2. 构造远程调用的 URLString url = "http://localhost:8081/user/" + order.getUserId();// 3. 发起远程调用,使用 WebClient 替代 RestTemplateUser user = webClient.get().uri(url).retrieve().bodyToMono(User.class).block(); // 使用 block() 方法等待结果返回,或者使用 reactive 链式编程来处理响应// 4. 封装 user 到 orderorder.setUser(user);// 5. 返回 orderreturn order;
}

2 使用builder 创建(推荐)

WebClient.builder(): 这是 WebClient 的另一个静态工厂方法。调用 WebClient.builder() 将返回一个 WebClient.Builder 对象,您可以在该对象上进行更多的配置。使用 WebClient.Builder,您可以设置各种选项,如超时时间、连接池大小、拦截器、错误处理等。

WebClient webClient = WebClient.builder().baseUrl("https://api.example.com").defaultHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE).build();

三 总结

create() 方法提供了一种简单快速创建默认配置 WebClient 实例的方式,而 builder() 方法则提供了更灵活的配置选项

http://www.dtcms.com/wzjs/361651.html

相关文章:

  • vs简易新闻建设网站舆情网站
  • 电商网站建设书百度网站怎么做
  • 做一份完整的网站规划书免费网站推广2023
  • 天天联盟广告网站如何做百度识图 上传图片
  • 心理咨询网站模板企业培训机构哪家最好
  • 寿县有做网站开发的吗湖南网站推广
  • wordpress项目导入宁波seo资源
  • 上海徐汇网站建设seo优化排名教程百度技术
  • 网站模块分析百度客服电话24小时客服电话
  • 网站备案审核需要多久如何制作网站赚钱
  • 小榄镇做网站公司推广策划方案范文
  • ps设计师网站有哪些什么是seo什么是sem
  • 成都网站建设 Vr功能 卓 公司头条广告入口
  • 低代码快速开发平台宁波厂家关键词优化
  • 有了源码然后如何做网站谷歌浏览器入口
  • 福田做网站公司乔拓云网站注册
  • 郑州网站建设学校国内推广平台有哪些
  • 专业的seo网站优化公司百度知道合伙人
  • 上海建设局网站网络推广运营公司
  • 厦门酒店网站建设销售平台有哪些
  • 网站手机访问跳转代码直播:英格兰vs法国
  • 周村区住房和城乡建设厅网站网页制作与设计教程
  • 如何选择响应式网站深圳百度推广优化
  • 做网站排在前十名要多少钱微信推广加人
  • 北京网站建设成都公司专业做网站建设的公司
  • 做网站的程序员进什么公司好大连seo外包平台
  • 学校门户网站建设说明站长工具精品
  • 大庆百度公司网站建设自己做网站建设
  • 网站建设三站合一微信小程序seo学校
  • 网站建设与实现的要求与务淘宝指数网站