首先跟大家做个说明,读Dubbo源码最好是先对Spring源码有一定的了解。如果大家需要,我也可以针对Spring框架做一系列源码的解读专栏。
不过不用担心,如果需要Spring的源码知识,文章中也会进行Spring源码铺垫介绍的。
如果内容中有没描述清楚的,或者大家在阅读源代码有疑问的,欢迎留言,看到就会及时回复。
为了更清楚的分析解释源码,源代码中部分不重要的内容可能会删减,保留重要内容方便大家理解。
本章主要内容:
- dubbo的启用。
- dubbo与Spring的整合。
dubbo的启用主要有两种方式
- 通过xml配置方式启用:
<dubbo:annotation package="com.*.*"/>
通过上面标签,实现注册ServiceAnnotationBeanPostProcessor和ReferenceAnnotationBeanPostProcessor。通过这两个BeanPostProcessor分别用来处理@Service和@Reference注解,实现服务的暴露和饮用
- 通过注解方式启用@EnableDubbo
@EnableDubbo(scanBasePackages = "cn.*")
@PropertySource("dubbo.properties")
@ComponentScan(basePackages = "cn.*")
public class AnnoBean {
}
EnableDubbo标签中包含两个注解
- @EnableDubboConfig:实现所有配置类的加载如ApplicationConfig,RegistryConfig,ProtocalConfig等
- @DubboComponentScan:作用和xml方式类似。注册ServiceAnnotationBeanPostProcessor和ReferenceAnnotationBeanPostProcessor,实现对@S