源码 - Feign源码解析
2022-02-09 22:57:28 0 举报
Feign源码解析
作者其他创作
大纲/内容
registerBeanDefinitions
1. 扫描EnableFeignClients标签配置的信息并注册
RibbonRequest
@Import(FeignClientsRegistrar.class)
有url
FeignClientFactoryBean#getObject
BeanDefinitionBuilder .genericBeanDefinition(FeignClientFactoryBean.class); 代理bean
对注册的代理工厂Bean调用getObject方法并获取真实的代理类
T getObject()
调用Feign接口时通过动态代理最终会调用LoadBalancerFeignClient的execute
execute
FeignClientsRegistrar
!StringUtils.hasText(this.url)
getTarget()
最终整合了ribbon实现负载均衡
implements FactoryBean
生成
LoadBalancerFeignClient
implements ImportBeanDefinitionRegistrar
@EnableFeignClients
将FeignClient注解的类的信息交给工厂Bean并将代理类的定义注册到Spring容器
url为空
2. 扫描所有@FeignCLient注解的类注入Spring容器
Spring 容器启动refresh的时候
0 条评论
下一页