Feign加载启动流程
2021-02-24 16:10:03 0 举报
Feign加载启动流程业务逻辑分析
作者其他创作
大纲/内容
XXApplication启动
registerFeignClient(..)方法内
扫描com.zhss.service.b下的@FeignClient的接口
结合了alias、BeanDefinition
拿着扫描出来的@FeignClient注解接口ServiceAClient来处理
isCandidateComponent
解析@FeignClient定义的属性
扫描出@FeignClient注解标注接口:ServiceAClient
存储到BeanDefinitionRegistry
进入registerBeanDefinitions方法内
@EnableFeignClients注解触发执行
构建一个BeanDefinitionHolder
将@FeignClient属性+ServiceAClient接口信息
构建一个代表了ServiceAClient接口的BeanDefinition
AnnotationTypeFilter过滤@FeignClient注解的过滤器
一般情况下basePackages不配置
1. @EnableFeignClients执行FeignClientsRegistrar#registerBeanDefinitions(..)代码,当中如下
默认返回true
扫描com.zhss.service.b包
ClassPathScanningCandidateComponentProvider组件扫描器
完成了BeanDefinition注册
FeignClientsRegistrar#registerBeanDefinitions(..)执行处理
@EnableFeignClients注解中属性(可能存在basePackages)
直接用XXApplication启动类所有的package路径(com.zhss.service.b)
0 条评论
回复 删除
下一页