Dubbo 集成到Spring的环境的设计和流程(01-1)

1 该方面的源码分析收获

        分析源码的集成主要是方便我们平时开发类似组件的时候可以将代码写的更加优雅更加灵活。像dubbo、spring全家桶等等的组件都在和spring集成的时候,易用非常高、可扩展性非常高,一个注解或者一个配置就可以开启组件的上下文的启用和对应功能的使用。而且通过简单的定制就可以实现自定义某些功能。分析Dubbo的上下文集成可以作为我们的一个参考。分析源码像源码看齐。模仿多啦一定可以超越。很多细节就不过多分析,主要是思路。大师或源码最牛逼的是思想、编程思想。

2 主要的集成思概要

  1. 所有的配置集中到一个初始化类的一个初始化方法中
  2. 自定义实现 ImportBeanDefinitionRegistrar类,registerBeanDefinitions 方法调用汇总所有初始化操作的总初始化方法
  3. 将ImportBeanDefinitionRegistrar自定义实现类通过@Import 注解注入到Spring 环境
  4. @Import引入的时机是在一个注解上,然后只要在Springboot的启动类上控制该注解进行上下文的控制

3 源码分析

@EnableDubbo 注解开启Dubbo的上下文

@EnableDubboConfig
@DubboComponentScan

两个注解进行上下文的初始化 ,从@EnableDubboConfig入手

import倒入DubboConfigConfigurationRegistrar类到Spring环境中

DubboConfigConfigurationRegistrar类是ImportBeanDefinitionRegistrar的自定义类,所以在注入Springs上下文的时候会执行registerBeanDefinitions,调用汇总的调用方法进行汇总配置初始化调用,将必要的bean集成到spring

最终注册必要的Listener、PostProcessor、Initializar等类完成上下文初始化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值