Spring - 自定义标签(如dubbo)
2020-01-13 本文已影响0人
沐兮_d64c
1,XSD元素简介
1)element
image.png
element 定义一个元素。
属性
id:可选,定义唯一id
name:可选,定义元素名称
type:可选,规定simpleType或者complexType的名称
2)annotation
annotation顶层元素,规定schema的注释
包含
appinfo 元素:应用程序使用的信息
documentation 元素:用户读取或使用的注释或文本
3)appinfo
appinfo规定annotation元素中应用程序要使用的信息
4)complexType
定义复杂类型
属性
id:可选,定义唯一id
name:可选,定义元素名称
5)attribute
定义一个属性
name:可选,定义属性名称
type:可选,定义类型
image.png
2,自定义标签流程
1)定义标签对应的Bean,如ProtocolConfig
image.png
2)定义dubbo.xsd,与bean对应
定义complexType对应ProtocolConfig
image.png
定义protocol element
image.png
3)自定义标签解析类,DubboBeanDefinitionParser实现BeanDefinitionParser
将element
image.png
4)定义命名空间处理类DubboNamespaceHandler
image.png
5)声明schema(xsd)和命名空间处理类
image.png
6)自定义标签使用
image.png