feign组件工作原理

Feign通过@EnableFeignClient注解开启包扫描,将@FeignClient接口注入IOC容器。调用接口方法时,使用JDK代理进行拦截,通过RequestTemplate生成HTTP请求,由HTTP client完成请求与响应。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

feign可以用来远程调用其他服务。

程序启动时,检查是或否有@EnableFeignClient注解,如果有这个注解,就开启包扫描,扫描被@FeignClient注解的接口。找到这样接口之后会把接口名和注解信息一块取出来,赋值给BeanDefinitionBuilder,然后根据BeanDefinitionBuilder得到BeanDefinition然后把BeanDefinition注入到IOC容器当中。
注入BeanDefinition之后,通过JDK的代理,如果调用Feign Client接口里面的方法,这个方法会被拦截,然后在SynchronousMethodHandler类当中进行拦截处理,根据RequestTemplate生成Request请求对象,然后通过HTTP client进行HTTP请求获取response。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值