我们从FignClientsRegistrar这个类开始首次探索.
FignClientsRegistrar实现了三个接口分别是ImportBeanDefinitionRegistrar,ResourceLoaderAware,EnvironmentAware;
其中ImportBeanDefinitionRegistrar定义了方法void registerBeanDefinitions(AnnotationMetadata var1, BeanDefinitionRegistry var2);
方法实现如图:
ResourceLoaderAware定义了方法void setResourceLoader(ResourceLoader var1);
EnvironmentAware定义了方法void setEnvironment(Environment var1);
ps:加this关键字的原因是
this.属性名称
指的是访问类中的成员变量,用来区分成员变量和局部变量(重名问题).完成对 对象变量的赋值.
首先看一下
-registerDefaultConfiguration(metadata AnnotationMetadata, registry BeanDefinitionRegistry)void
然后就看一下
-registerClientConfiguration(registry BeanDefinitionRegistry, name Object, configuration Object)void
ps:我已经看到崩溃..这都哪儿跟哪儿....看源码就像玩跳一跳,一会儿就不知道跳到哪里去了...
好了,去吃午饭.
I`m back
接下来看
+registerBeanDefinition(beanName String, beanDefinition BeanDefinition)void
1图解如下:
外层hasText
内层hasText
内层hasText的containsText方法
额,要不今天先这样子.
2图解
3图解
1)图解
+validate()void
gao
前方高能预警,源码轰炸.(我看得时候很懵.看完了更懵*^*)
2)当beanDefinition不是AbstractBeanDefinition时,抛出异常: Validation of bean definition failed
我赶脚上了ze趟车就下不来了.....
图4其实就是以String类型的beanName作为key取出BeanDefinition类型的value
图5我想了想,不解释了.
图6如果BeanDefinition类型的existingDefinition不为空且此映射包含对于指定的键的映射关系,那么重置类定义.