dubbo 标签解析

来源:互联网 发布:原油eia数据最新消息 编辑:程序博客网 时间:2024/06/06 17:31

Spring框架提供了两个接口:NamespaceHandler负责namespace处理和BeanDefinitionParser负责bean的解析。

使用者可以实现NamespaceHandler接口,然后可以在classpath(包括class文件路径和jar包中的路径)的META-INF目录下编写一个spring.handlers文件,该文件中定义名称空间URL和名称空间处理器类的映射,如dubbo框架的spring.handlers文件内容如下:

http\://code.alibabatech.com/schema/dubbo=com.alibaba.dubbo.config.spring.schema.DubboNamespaceHandler

Spring框架初始化时会加载所有classpath的spring.handlers文件,把namespace URL和namespace处理器的映射存到一个map中,Spring框架在解析bean定义文档时,遇到非IOC内置(beans名称空间下)的标签,会在这个map中查找namespace处理器,使用这个自定义处理器进行标签解析工作。

Dubbo框架实现了DubboNamespaceHandler来处理dubbo名称空间:

处理器初始化时组dubbo所有标签都注册一个解析器,其他的标签主要任务是给框架设置一些全局属性,可以暂时先放一边,重点需要看下service和reference两个标签,它们分别用来注册服务和服务消费者,dubbo:service会被框架 解析成一个ServiceBean, dubbo:reference会被框架解析成一个ReferenceBean。


转自:http://blog.csdn.net/tolihaifeng/article/details/60968389


原创粉丝点击