一[email protected]
springboot集成的自动配置阅读源码首先搜 @EnableFeignClients,
发现这个enable注解导入了FeignClientsRegistrar类。
FeignClientsRegistrar实现了ImportBeanDefinitionRegistrar接口,如果读过spring源码的话知道spring会调用registerBeanDefinitions方法来注入bean。如下图
看这两行包装过的代码就知道这里注入的是默认的配置类和feign bean。
2.registerDefaultConfiguration解读
代码解释如图:
二.registerFeignClients解读
1.spring内置的扫描类ClassPathScanningCandidateComponentProvider,用来扫描@FeignClient注解的类,也就是feign client
2.ClassPathScanningCandidateComponentProvider扫描出来的beanDefinition遍历注册到beanDefinition
下篇再解释feign client注册到beanDefinition的详细设置吧。