实现--自定义spring schema

在很多情况下,我们需要为系统提供可配置化支持,简单的做法可以直接基于spring的标准Bean来配置,但配置较为复杂或者需要更多丰富控制的时候,会显得非常笨拙。一般的做法会用原生态的方式去解析定义好的xml文件,然后转化为配置对象,这种方式当然可以解决所有问题,但实现起来比较繁琐,特别是是在配置非常复杂的时候,解析工作是一个不得不考虑的负担。Spring提供了可扩展Schema的支持,这是一个不错的折中方案,完成一个自定义配置一般需要以下步骤: 

  1. 设计配置属性和JavaBean 

  2. 编写XSD文件 

  3. 编写NamespaceHandler和BeanDefinitionParser完成解析工作 

  4. 编写spring.handlers和spring.schemas串联起所有部件 

  5. 在Bean文件中应用 

Spring 2.5在2.0的基于Schema的Bean配置的基础之上,再增加了扩展XML配置的机制。通过该机制,我们可以编写自己的Schema,并根据自定义的Schema用自定的标签配置Bean。

源码

工程目录:

pom.xml配置


people实体类,也可以理解为bean


PeopleBeanDefinitionParser解析bean


MyNamespaceHandler


xsd文件内容

run:


自定义spring schema demo搞定

源码下载:

https://github.com/sunmutian/springmvc4tian/tree/master/custom-spring


猜你喜欢

转载自blog.51cto.com/10983206/2564029