介绍
Spring 2.5在2.0的基于Schema的Bean配置的基础之上,再增加了扩展XML配置的机制。通过该机制,我们可以编写自己的Schema,并根据自定义的Schema用自定的标签配置Bean。要使用的Spring的扩展XML配置机制,也比较简单,有以下4个步骤:
- 编写自定义Schema文件;
- 编写自定义NamespaceHandler;
- 编写解析BeanDefinition的parser
- 在Spring中注册上述组建
Maven依赖
1 | <dependency> |
二、编写自定义NamespaceHandler
1 | package schema; |
三、编写BeanDefinition
1 | package schema; |
实体类:
1 | package schema; |
四、注册schema组件
最后在META-INF目录下添加两个配置文件(spring.handler
和spring.schema
):
spring.handler
配置如下:
1 | http\://www.pomelo.com/schema/people=schema.StudentNamespaceHandler |
spring.schema
配置如下:
1 | http\://www.pomelo.com/schema/people.xsd=META-INF/people.xsd |
五、测试
新建applicationContext.xml
放在clasapath下面:
1 | <?xml version="1.0" encoding="UTF-8"?> |
java调用:
1 | package schema; |
具体代码详见:https://github.com/zyongjava/pomelo/blob/master/src/main/resources/META-INF/people.xsd