1. ReferenceBean.java
ReferenceBean.java
继承 ReferenceConfig.java
, 主要的Reference初始化逻辑都在ReferenceBean的get()方法里,内部主要实现是在ReferenceConfig的init()方法;
2. DubboComponentScanRegistrar.java
通过registerBeanDefinitions()函数,来注册@Service
和@Reference
的BeanPostProcessor
3. ReferenceAnnotationBeanPostProcessor.java
再往上追溯的话,可以看到执行了ReferenceAnnotationBeanPostProcessor.java
的父类AnnotationInjectedBeanPostProcessor.java
的postProcessPropertyValues()函数, 以及继承了InjectionMetadata.InjectedElement
的AnnotatedFieldElement.java
,在这里实现注入spring容器。