Spring - 自定义标签(如dubbo)

1,XSD元素简介

1)element
element 定义一个元素。
属性
id:可选,定义唯一id
name:可选,定义元素名称
type:可选,规定simpleType或者complexType的名称
2)annotation
annotation顶层元素,规定schema的注释
包含
appinfo 元素:应用程序使用的信息
documentation 元素:用户读取或使用的注释或文本
3)appinfo
appinfo规定annotation元素中应用程序要使用的信息

Spring - 自定义标签(如dubbo)_第1张图片
image.png

4)complexType
定义复杂类型
属性
id: 可选,定义唯一id
name: 可选,定义元素名称
5)attribute
定义一个属性
name: 可选,定义属性名称
type: 可选,定义类型
Spring - 自定义标签(如dubbo)_第2张图片
image.png

2,自定义标签流程

1)定义标签对应的Bean,如ProtocolConfig

Spring - 自定义标签(如dubbo)_第3张图片
image.png

2)定义dubbo.xsd,与bean对应
定义complexType对应ProtocolConfig
Spring - 自定义标签(如dubbo)_第4张图片
image.png

定义protocol element
Spring - 自定义标签(如dubbo)_第5张图片
image.png

3)自定义标签解析类,DubboBeanDefinitionParser实现BeanDefinitionParser
将element
Spring - 自定义标签(如dubbo)_第6张图片
image.png

4)定义命名空间处理类DubboNamespaceHandler
Spring - 自定义标签(如dubbo)_第7张图片
image.png

5)声明schema(xsd)和命名空间处理类
Spring - 自定义标签(如dubbo)_第8张图片
image.png

6)自定义标签使用
Spring - 自定义标签(如dubbo)_第9张图片
image.png

你可能感兴趣的:(Spring - 自定义标签(如dubbo))