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

网站成品作业通过网站开发工具怎么改自动跳网站

网站成品作业,通过网站开发工具怎么改自动跳网站,a站播放量最高的视频,做网站公司找哪家公司目录 OpenFeign 问题引入 OpenFeign介绍 Spring Cloud Feign OpenFeign的使用 引入依赖 添加注解 编写OpenFeign客户端 远程调用 OpenFeign 问题引入 观察之前远程调用的代码 虽说RestTemplate 对HTTP封装后, 已经⽐直接使⽤HTTPClient简单⽅便很多, 但是还存在⼀些问…

目录

OpenFeign

问题引入

OpenFeign介绍

Spring Cloud Feign

OpenFeign的使用

引入依赖

添加注解

编写OpenFeign客户端

远程调用


OpenFeign

问题引入

观察之前远程调用的代码

虽说RestTemplate 对HTTP封装后, 已经⽐直接使⽤HTTPClient简单⽅便很多, 但是还存在⼀些问题:

1. 需要拼接URL, 灵活性⾼, 但是封装臃肿, URL复杂时, 容易出错.
2. 代码可读性差, ⻛格不统⼀.

微服务之间的通信⽅式, 通常有两种: RPC 和 HTTP.
在SpringCloud中, 默认是使⽤HTTP来进⾏微服务的通信, 最常⽤的实现形式有两种:

• RestTemplate
• OpenFeign 

RPC(Remote Procedure Call)远程过程调⽤,是⼀种通过⽹络从远程计算机上请求服务,而不需要了解底层⽹络通信细节。RPC可以使⽤多种⽹络协议进⾏通信, 如HTTP、TCP、UDP等, 并且在TCP/IP⽹络四层模型中跨越了传输层和应⽤层。简⾔之RPC就是像调⽤本地⽅法⼀样调⽤远程⽅法。
常见的RPC框架有:
1. Dubbo: Apache Dubbo 中⽂
2. Thrift : Apache Thrift - Home
3. gRPC: gRPC

OpenFeign介绍
OpenFeign 是⼀个声明式的 Web Service 客⼾端. 它让微服务之间的调⽤变得更简单, 类似controller 调⽤service, 只需要创建⼀个接⼝,然后添加注解即可使⽤OpenFeign.

OpenFeign的前身

Feign 是 Netflix 公司开源的⼀个组件.
• 2013年6⽉, Netflix发布 Feign的第⼀个版本 1.0.0
• 2016年7⽉, Netflix发布Feign的最后⼀个版本 8.18.0
2016年,Netflix 将 Feign 捐献给社区
• 2016年7⽉ OpenFeign 的⾸个版本 9.0.0 发布,之后⼀直持续发布到现在.
可以简单理解为 Netflix Feign 是OpenFeign的祖先, 或者说OpenFeign 是Netflix Feign的升级版.OpenFeign 是Feign的⼀个更强⼤更灵活的实现.

Spring Cloud Feign

Spring Cloud Feign 是 Spring 对 Feign 的封装, 将 Feign 项⽬集成到 Spring Cloud ⽣态系统中.
受 Feign 更名影响,Spring Cloud Feign 也有两个 starter:

• spring-cloud-starter-feign
• spring-cloud-starter-openfeign

由于Feign的停更维护, 对应的, 我们使⽤的依赖是 spring-cloud-starter-openfeign。

Spring Cloud Feign官方介绍

OpenFeign的使用
引入依赖
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
添加注解

在order-service的启动类添加注解 @EnableFeignClients , 开启OpenFeign的功能。

package order;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.openfeign.EnableFeignClients;@EnableFeignClients
@SpringBootApplication
public class OrderServiceApplication {public static void main(String[] args) {SpringApplication.run(OrderServiceApplication.class, args);}
}
编写OpenFeign客户端
基于SpringMVC的注解来声明远程调⽤的信息。
package order.api;import order.model.ProductInfo;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;@FeignClient(value = "product-service",path = "/product")
public interface ProductApi {@RequestMapping("/{productId}")ProductInfo getProductById(@PathVariable("productId") Integer productId);
}

@FeignClient 注解作⽤在接⼝上, 参数说明:

• name/value:指定FeignClient的名称, 也就是微服务的名称, ⽤于服务发现, Feign底层会使⽤Spring Cloud LoadBalance进⾏负载均衡. 也可以使⽤ url 属性指定⼀个具体的url.
• path: 定义当前FeignClient的统⼀前缀.

远程调用

修改之前远程调用的代码

package order.service;import order.api.ProductApi;
import order.mapper.OrderMapper;
import order.model.OrderInfo;
import order.model.ProductInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;@Service
public class OrderService {@Autowiredprivate OrderMapper orderMapper;@Autowiredprivate RestTemplate restTemplate;@Autowiredprivate ProductApi productApi;public OrderInfo selectOrderById(Integer orderId){OrderInfo orderInfo = orderMapper.selectOrderById(orderId);ProductInfo productInfo = productApi.getProductById(orderInfo.getProductId());orderInfo.setProductInfo(productInfo);return orderInfo;}
}

启动服务并访问

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

相关文章:

  • php 金融网站源码四川建设网站项目招标
  • 岳阳推广公司网站关键词百度自然排名优化
  • 甘肃省城乡城乡建设厅网站手机如何制作链接
  • 喀什市建设局网站查证件做花生的网站
  • asp网站查看器网站建设自助搭配系统
  • 淘宝营销网站建设网站建设跟前端有什么区别
  • 网站建设全包哪家便宜上海网站建设觉策动力
  • html嵌入网站nginx做网站
  • 企业 网站 推广可以做微网站的第三方平台
  • php网站开发if的代码国际新闻最新消息中国
  • 滨州网站建设网站搭建响应式
  • 网站优化用户体验口碑营销论文
  • 网站建设与维护中国出版社html5网站开发工具
  • 天行健公司网站建设外贸网站首页
  • 电子商务网站建设的一般步骤网站商城制作费用
  • 焦作网站建设焦作泰安网站建设入门推荐
  • 免费网站后台管理系统免费的个人网页
  • 云南省做网站开发的公司排名济南做网站设计
  • 网站备案需要多久时间小程序商城开发商
  • 做任务有奖励的网站建设企业官方网站企业登录
  • 网站设计包括什么北京网站被处罚
  • 网站建设与管理专业自我评价开发者头条
  • 电子商务网站开发参考文献门户建设是什么意思
  • 登陆网站怎么做wordpress自带图片大小
  • 建设西安网站高端网站建设 n磐石网络
  • 福州网站开发cms织梦中查看演示网站怎么做
  • 潍坊建设网站杭州十大设计公司
  • 网站备案认领网站 运营 外包 每个月多少钱
  • 淘宝客 网站无备案长沙企业网站
  • 网站内容设计是什么网站建设销售要懂什么