一般我们会用 @EnableFeignClients 来启动Feign功能。
用@Import 注解导入 FeignClientsRegistrar类
FeignClientsRegistrar类,会实现ImportBeanDefinitionRegistrar接口,那么就必定会实现ImportBeanDefinitionRegistrar接口的registerBeanDefinitions(AnnotationMetadata metadata,BeanDefinitionRegistry registry)方法。在Spring容器把FeignClientsRegistrar导入,实例化,之后调用。
从元数据获取@EnableFeignClients注解的配置信息。还会创建一个扫描器在扫描包的类的时候 过滤注解类型的过滤器。
如果没有配置,那就获取basePackage属性,扫描器用的过滤器 就是 过滤@FeignClient注解的过滤器。 也就是 扫描 basePackage下含有 @FeignClient注解的类