- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
1.1概述
1.1.1OpenFeign简介
()网简介
官
式REST客户端:Feign通过使用JAX-RS或SpringMVC注解的装饰方式,生成接口的
动态实现。
()综合说明
前面官网的简介是什么意思呢?
Feign,,的
OpenFeign可以将提供者提供的Restful服务为接口进行消费,消费者只需使用“feign
接口+注解”的方式即可直接调用提供者提供的Restful服务,而无需再使用RestTemplate。
注意,OpenFeign只有消费者有关,与提供者没有任务关系。
1.1.2Ribbon与OpenFeign
说到OpenFeign,不得不提的就是Ribbon。OpenFeign默认Ribbon作为负载均衡组件。
OpenFeign直接内置了Ribbon。即在导入OpenFeign依赖后,无需再专门导入Ribbon依赖了。
1
OpenFeign也是运行在消费者端的,使用Ribbon进行负载均衡,所以OpenFeign直接内
置了Ribbon。即在导入OpenFeign依赖后,无需再专门导入Ribbon依赖了。
1.1.3消费者客户端技术选型
无论使用SpringCloud还是使用SpringCloudAlibaba,消费者调用提供者服务都是需要
使用客户端来提交消费请求的。常见的消费者客户端有如下三种,各有优劣。
()RestTemplate
()OpenFeign
()DubboSpringCloud
2
1.2OpenFeign源码解析
1.2.1重要类与接口解析
()@EnableFeignClients
在SpringBoot中存在大量的@EnableXxx这种注解。它们的作用是,开启某项功能。其
实它们本质上是为了导入某个类来完成某项功能。所以这个注解一般会组合一个@Import
注解用于导入类。导入的类一般有三种:
配置类:一般以Configuration结尾,完成自动配置
选择器:一般以Selector结尾,完成自动选择
器:一般以Registrar结尾,完成自动
3
()@FeignClient
()FeignClientSpecification类
FeignClientSpecification是一个FeignClient的生成规范。
()BeanDefinition接口
BeanDefinition是一个Bean定义器。
4
()BeanDefinitionRegistry接口
BeanDefinitionRegistry是一个BeanDefinition器。
()FeignContext类
FeignContext是一个为FeignClient创建所准备的上下文对象。
5
其父类中包含两个很重要的集合:
privateMapString,AnnotationConfigApplicationContextcontexts=new
ConcurrentHashMap();
该map的key为FeignClient的名称(其所要调用的微服务名称),value是组装这个
FeignClient所必须的组件所在的Spring子容器
privateMapString,Cconfigurations=newConcurrentHashMap();
这个ma
文档评论(0)