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 就可以顺利打开啦
- POJ3295 Tautology重言式
Tautology 思路很简单,对于p.q.r.s.t暴力枚举是0还是1,判断即可.判断时像写表达式求值那样用栈.为了方便可以从后往前,因为最后一个肯定不是运算.那几个奇奇怪怪的函数可以找规律然后转为 ...
- P1046 划拳
P1046 划拳 转跳点:
- HDU - 6195 cable cable cable
题意:如下图,有K个光源,一个光源可同时照射一个显示屏,问从M个显示屏中任选K个,可以使每个显示屏都被不同光源照亮最少需要多少连接电缆. 分析:画图分析可知 1.选1~K个显示屏和选M-K+1~M个显 ...
- UVA - 1626 Brackets sequence (区间dp)
题意:给定一个串,可能空串,或由'[',']','(',')'组成.问使其平衡所需添加最少的字符数,并打印平衡后的串. 分析:dp[i][j]表示区间(i,j)最少需添加的字符数. 1.递推. #in ...
- mysql IF-IFNULL和IF-ISNULL同样逻辑的运行差别
首先,目标记录是存在的 SELECT * FROM d_device_user_bind dub WHERE dub.`uid`='222222222221' 其次, SELECT dub.uid,d ...
- 洛谷 P2549 计算器写作文
题目传送门 解题思路: 背包,f[i]表示计算器位数为i时,可获得的最大分值. 本题与01背包不同的地方在于,物品的摆放顺序对答案是有影响的,例如两个字符串a,b,那么就会出现a+b和b+a两种情况( ...
- dede调出所有栏目以及栏目下的二级栏目
1.调出所有栏目以及栏目下的二级栏目 {dede:channelartlist typeid='top'}<a href="{dede:field name='typeurl'/}&q ...
- tomcat以服务形式开机启动
第一步 将tomcat配置为服务模式 cp $TOMCAT_HOME/bin/catalina.sh /etc/init.d/tomcat #将tocmt启动文件复制到/etc/init.d下 vim ...
- Springboot Bean循环依赖问题
参考博客原文地址: https://www.jb51.net/article/168398.htm https://www.cnblogs.com/mianteno/p/10692633.html h ...