服务治理中间件 Dubbo 原理解析(让Spring支持第三方)读书笔记

一。使用 Schema 方式使得 spring 更加便于与第三方进行集成以及第三方可以提供更
简单更便于使用的个性化配置方式。 Schema 中有个重要的概念命名空间(namespace)必须要提一下,
 spring 就是利用它来做第三方自定配置格式的解析的,在 spring 中 aop, 
transaction的就是给第三一个实现自己自定义配置很好实例。
xml中各命名空间下的格式定义文件通过 xsi:schemaLocation 来指定。

二。本文档不是讲解 spring 的,所以下面只是简略的来讲解 spring 如果通过 schema
方式来解析配置文件的。类 DefaultBeanDefinitionDocumentReader 会把
 spring 的 xml 配置文件当做一个文档格式来读取
每读取一个元素节点都会判断下这个元素的命名空间,如果是默认命名空间
( http://www.springframework.org/schema/beans)则按默认方式读取 bean
的定义, 如果不是如 namespaceUri 如下http://code.alibabatech.com/schema/dubbo
则 走解析自定义元素流程。根据命名空间去获取具体的处理器NamespaceHandler
DefaultNamespaceHandlerResolver 类传了 key 为 namespaceUri, 在类中有个
Map 存储类所有的自定义 NamespaceHandler, 这个 Map 中的值是通过工具类
PropertiesLoaderUtils 加载所有在”META-INF/spring.handlers” 中的值

三。此文档主要讲解 dubbo 的自定义处理器 DubboNamespaceHandler 来怎样把 dubbo
自定义的元素转换成的 bean 定义并注册到 spring 的容器中去的
DubboNamespaceHandler 中注册了这么多的 BeanDefinitionParser 用来解析
dubbo 定义的那些 xml 元素节点及各个 BeanDefinitionParser 会把上面的 xml 元素转换成 
spring 内部的数据结构BeanDefinition,最终当被引用时实例化成对应的 bean
 如<dubbo:application/>节点得到 ApplicationConfig


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

icool_ali

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值