Feign整合测试
1、测试使用
(1)服务调用方引入依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/com.netflix.feign/feign-okhttp -->
<dependency>
<groupId>com.netflix.feign</groupId>
<artifactId>feign-okhttp</artifactId>
</dependency>
(2)服务调用方启动类添加注解
@EnableFeignClients
(3)定义FeiClient接口
在服务调用方创建client包,专门用于定义FeiClient接口
@FeignClient("user-service-id")
public interface UserClient {
@GetMapping("/user/get/{id}")
public User findById(@PathVariable("id") String id);
}
(3)测试
启动注册中心Eureka、服务提供方工程
@Autowired
private UserClient userClient; @Test
public void testFeign(){
User user= userClient.findById("5a754adf6abb500ad05688d9");
System.out.println("testFeign:::::::::::::::::::"+JSONObject.toJSONString(user));
}
2、测试分析
(1)Feign 是netflix 开源的一个rest 客户端,在这里替代了前面的RestTemplate + okhttp
(2)Feign同样集成了Rebbion,实现了客户端负载均衡,ribbon充当了一个负载均衡器
(3)使用体现: 在本地定义远程接口、实现了像调用本地方法一样进行远程调用
3、工作原理:
(1)在启动类上添加@EnableFeignClients 注解、spring 会扫描@FeignClient注解的接口、并生成其代理对象
(2)FeignClient 的value属性指定了服务提供方服务名称、Feign会从Eureka上获取服务列表、通过负载均衡算法进行服务调用(Rebbion负载均衡器工作原理)
(3)springClould 对Feign进行了增强、使其兼容了SpringMvc注解,在接口方法上可以通过@GetMapping等注解进行url远程调用,但是注意两点
①参数必须使用@pathVariable、@RequestParam注解声明、不能省略;
②返回值是对象类型、无参构造不能省略
Feign整合测试的更多相关文章
- JAVAEE——spring02:使用注解配置spring、sts插件、junit整合测试和aop演示
一.使用注解配置spring 1.步骤 1.1 导包4+2+spring-aop 1.2 为主配置文件引入新的命名空间(约束) 1.3 开启使用注解代替配置文件 1.4 在类中使用注解完成配置 2.将 ...
- 基于ELK5.1(ElasticSearch, Logstash, Kibana)的一次整合测试
前言开源实时日志分析ELK平台(ElasticSearch, Logstash, Kibana组成),能很方便的帮我们收集日志,进行集中化的管理,并且能很方便的进行日志的统计和检索,下面基于ELK的最 ...
- Maven聚合、Maven仓库jar包以及Spring+MyBatis+JUnit+Maven整合测试的搭建过程
一.Maven将父项目创建到父项目的内部 在父项目的pom.xml上 点右键,选择maven-->new-->maven module project 二.Maven聚合 在某个项目的p ...
- Spring Cloud系列文,Feign整合Ribbon和Hysrix
在本博客之前的Spring Cloud系列里,我们讲述了Feign的基本用法,这里我们将讲述下Feign整合Ribbon实现负载均衡以及整合Hystrix实现断路保护效果的方式. 1 准备Eureka ...
- Feign整合Ribbon和Hystrix源码解析
在上篇文章Feign自动装配中,我们提到了Feign的自动装配的原理,以及Feign整合Ribbon和Hystrix的核心在类FeignClientFactoryBean中,那么本篇文章就来揭开这个类 ...
- SIT系统整合测试
System Integrate Test的缩写,即系统整合测试 系统整合测试就是评估产品在其规格范围内的环境下工作,能否完成产品设计规格所需要的功能及与周边设备.应用软件的兼容性.大致可以 ...
- 03.父工程pom、整合测试、SpringBootApplication注解
父工程 idea点击spring-boot-starter-parent找到父工程spring-boot-dependencies模仿配置 父工程 <?xml version="1.0 ...
- spring-注解配置-junit整合测试-aop
1 使用注解配置spring 1.1 步骤 导包4+2+spring-aop 1.为主配置文件引入新的命名空间(约束) 2.开启使用注解代理配置文件 3.在类中使用注解完成配置 1.2 将对象注册到容 ...
- Spring Boot从入门到放弃-Spring Boot 整合测试
站长资讯摘要:使用Spring Boot 整合测试,对Controller 中某个方法进行测试或者对Service,Mapper等进行测试,不需要运行项目即可查看运行结果是否和期望值相同,Spring ...
随机推荐
- Mac安装软件提示破损
安装提示破损 zhong终端输入 sudo spctl --master-disable 就可以顺利打开啦
- 用fiddler监控移动端的通讯
用fiddler监控移动端的通讯 1 依次打开Fiddler->Tools->Fiddler Options在[Connection]面板里将Allow remote computers ...
- 启用root关闭客人会话
1.位root用户设置密码: sudo passwd root 2.修改配置文件/usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf(先备份) 添加如下在文 ...
- 女神说不能每张照片P的一样,所以朋友圈开三天可见,用Python一步解决
大家好,我是小三十三,一个刚恰完午饭,正在用刷网页浪费生命的蒟蒻... 一堆堆无聊八卦信息的网页内容慢慢使我的双眼模糊,一个哈欠打出了三斤老泪,就在此时我看到了一张图片: ! 是谁!是谁把我女朋友的照 ...
- 127-PHP类通过魔术变量判断类中是否存在指定的方法
<?php class ren{ //定义人类 //定义成员属性 private $name='Tom'; private $age=15; //定义成员方法 public function g ...
- 个人vim简单配置
精简.vimrc配置,简约不简单 该配置没有花里胡哨的插件,只是用ctags和cscope然后配合vim提供的基础功能就可以完成常见的代码编辑,浏览,查找等工作. "************ ...
- Perl 笔试题2 -- 统计单词频次
Nvidia 2019 perl 笔试题 统计一个文件内单词的频次并排序 文本如下: "ALL happy families resemble one another; every unha ...
- tc: 模拟网络异常的工具
作者:smallnest Linux Traffic Control (tc)的扩展 Network Emulation (netem)可以很方便的模拟网络不好的情况,一般新的linux内核中(> ...
- BZOJ:2815: [ZJOI2012]灾难
题解: 构造灭绝树: x指向的点表示x的祖先死亡则x死亡 动态LCA: 可以用LCT维护或直接更新倍增数组 最后统计子树点的个数 坑: 我还不会序列型Toposort #include<iost ...
- 三、CI框架之一个最简单的页面
一.在CI框架里面的controllers <?php defined('BASEPATH') OR exit('No direct script access allowed'); class ...