Feign注解源码
Feign注解源码
EnableFeignClients注解背后加载流程
- @EnableFeignClients的
@Import(FeignClientsRegistrar.class)
实现注册 class FeignClientsRegistrar implements ImportBeanDefinitionRegistrar, ResourceLoaderAware, EnvironmentAware
注册类
@Override public void registerBeanDefinitions(AnnotationMetadata metadata, BeanDefinitionRegistry registry) { //注册默认配置 registerDefaultConfiguration(metadata, registry); registerFeignClients(metadata, registry); }
1.1 registerDefaultConfiguration
private void registerDefaultConfiguration(AnnotationMetadata metadata, BeanDefinitionRegistry registry) { //获取@EnableFeignClients注解中声明的变量值 Map<String, Object> defaultAttrs = metadata .getAnnotationAttributes(EnableFeignClients.class.getName(), true); if (defaultAttrs != null && defaultAttrs.containsKey("defaultConfiguration")) { String name; //该方法是否继承任何类 if (metadata.hasEnclosingClass()) { name = "default." + metadata.getEnclosingClassName(); } else { //name = "default" + 包名 + 启动类 name = "default." + metadata.getClassName(); } //构造上下文中需要用到的Bean信息并注册 registerClientConfiguration(registry, name, defaultAttrs.get("defaultConfiguration")); } } private void registerClientConfiguration(BeanDefinitionRegistry registry, Object name, Object configuration) { //构造FeignClientSpecification类 BeanDefinitionBuilder builder = BeanDefinitionBuilder .genericBeanDefinition(FeignClientSpecification.class); //把main函数类名传入 builder.addConstructorArgValue(name); //传入配置项 builder.addConstructorArgValue(configuration); //通过registerBeanDefinition注册Bean registry.registerBeanDefinition( name + "." + FeignClientSpecification.class.getSimpleName(), builder.getBeanDefinition()); }
不错不错,我喜欢看 https://www.jiwenlaw.com/
看的我热血沸腾啊https://www.jiwenlaw.com/
看的我热血沸腾啊https://www.237fa.com/
想想你的文章写的特别好www.jiwenlaw.com
《他们生活的世界》韩国剧高清在线免费观看:https://www.jgz518.com/xingkong/37791.html
你的文章让我学到了很多技能,非常实用。 https://www.yonboz.com/video/32166.html
《玛雅蜜蜂历险记2:蜜糖游戏》动画片高清在线免费观看:https://www.jgz518.com/xingkong/5055.html
你的文章总是能给我带来欢乐,谢谢你! https://www.yonboz.com/video/28741.html
《玛雅蜜蜂历险记2:蜜糖游戏》动画片高清在线免费观看:https://www.jgz518.com/xingkong/5055.html
《天国的阶梯》韩国剧高清在线免费观看:https://www.jgz518.com/xingkong/104741.html
《张大千敦煌传奇》国产剧高清在线免费观看:https://www.jgz518.com/xingkong/27778.html
?诗歌散文评语?