史上最简单的SpringCloud教程 | 第三篇: 服务消费者(Feign)
来源:互联网 发布:mac修改hosts文件翻墙 编辑:程序博客网 时间:2024/04/25 11:31
上一篇文章,讲述了如何通过RestTemplate+Ribbon去消费服务,这篇文章主要讲述如何通过Feign去消费服务。
一、Feign简介
Feign是一个声明式的伪Http客户端,它使得写Http客户端变得更简单。使用Feign,只需要创建一个接口并注解。它具有可插拔的注解特性,可使用Feign 注解和JAX-RS注解。Feign支持可插拔的编码器和解码器。Feign默认集成了Ribbon,并和Eureka结合,默认实现了负载均衡的效果。
简而言之:
- Feign 采用的是基于接口的注解
- Feign 整合了ribbon
二、准备工作
继续用上一节的工程, 启动eureka-server,端口为8761; 启动service-hi 两次,端口分别为8762 、8773.
三、创建一个feign的服务
新建一个spring-boot工程,取名为serice-feign,在它的pom文件引入Feign的起步依赖spring-cloud-starter-feign、Eureka的起步依赖spring-cloud-starter-eureka、Web的起步依赖spring-boot-starter-web,代码如下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
在工程的配置文件application.yml文件,指定程序名为service-feign,端口号为8765,服务注册地址为http://localhost:8761/eureka/ ,代码如下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
在程序的启动类ServiceFeignApplication ,加上@EnableFeignClients注解开启Feign的功能:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
定义一个feign接口,通过@ FeignClient(“服务名”),来指定调用哪个服务。比如在代码中调用了service-hi服务的“/hi”接口,代码如下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
在Web层的controller层,对外暴露一个”/hi”的API接口,通过上面定义的Feign客户端SchedualServiceHi 来消费服务。代码如下:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
启动程序,多次访问http://localhost:8765/hi?name=forezp,浏览器交替显示:
hi forezp,i am from port:8762
hi forezp,i am from port:8763
五、参考资料
spring-cloud-feign
- 史上最简单的SpringCloud教程 | 第三篇: 服务消费者(Feign)
- 史上最简单的SpringCloud教程 | 第三篇: 服务消费者(Feign)
- 史上最简单的SpringCloud教程 | 第三篇: 服务消费者(Feign)
- 史上最简单的SpringCloud教程 | 第三篇: 服务消费者(Feign)
- 史上最简单的SpringCloud教程 | 第三篇: 服务消费者(Feign)
- 史上最简单的SpringCloud教程 | 第三篇: 服务消费者(Feign)
- 史上最简单的SpringCloud教程 | 第三篇: 服务消费者(Feign)
- 史上最简单的SpringCloud教程 | 第三篇: 服务消费者(Feign)
- 史上最简单的SpringCloud教程 | 第三篇: 服务消费者(Feign)
- 史上最简单的SpringCloud教程 | 第三篇: 服务消费者(Feign)
- 史上最简单的SpringCloud教程 | 第三篇: 服务消费者(Feign)
- SpringCloud教程 | 第三篇: 服务消费者(Feign)
- SpringCloud教程 | 第三篇: 服务消费者(Feign)
- SpringCloud 教程 | 第三篇: 服务消费者(Feign)
- SpringCloud教程 | 第三篇: 服务消费者(Feign)
- SpringCloud教程三:服务消费者(Feign)
- SpringCloud--服务消费者(Feign)
- SpringCloud: 服务消费者(Feign)
- easyui datagrid初始化时,action执行了2次
- Vivado Power 结果 1161W 原因及解决办法
- 利用递推求斐波那契数列
- android客户端学习-日期弹出框并设定可选最大最小日期
- 每天一个linux命令(25):linux文件属性详解
- 史上最简单的SpringCloud教程 | 第三篇: 服务消费者(Feign)
- ios 处理键盘遮挡问题
- SQL中存储过程的一般语法是什么?
- iOS 在pod管理的第三方库中, 引用另一个pod管理的第三方库的方法
- outerHTML的兼容处理
- centos7 离线安装redis 及PHP扩展redis
- csv格式转换xls
- 1.2 SATA主机协议的FPGA实现之物理层设计
- 盖饭