一共有5个步骤
1.创建一个需要扩展的组件(Bean)
2.定义一个xsd文件描述组件内容
3.创建一个文件,实现BeanDefinitionParser接口,用来解析xsd文件中的定义和组件定义
4.创建一个Handler文件,扩展自NamespaceHandlerSupport,目的是将组件注册到Spring容器
5.编写Spring.handlers和Spring.schemas文件
分步骤给出示例与解释
1.创建一个普通的POJO
2.定义一个xsd文件描述组件内容
注意其中的xmlns,targetNamespace
3.创建一个类实现BeanDefinitionParser接口,用来解析xsd文件中的定义和组件定义
4.创建一个Handler类,扩展自NamespaceHandlerSupport,目的是将组件注册到Spring容器
Handler的作用是当标签遇见user:xxx这种形式的,就将标签的解析扔给相应的解析类。
5.编写Spring.handlers,Spring.schemas文件,默认位置是在classpath:/META-INF/文件夹下,如果需要修改默认位置,需要修改Spring的源码。
Spring.handlers注册了Handler类
http://www.xxx.com/schema/user=com.lucifer.test.MyUserNamespaceHandler
Spring.schemas
http://www.xxx.com/schema/user.xsd=META-INF/spring-user.xsd
6.当然需要在Context配置文件中引入名称空间和Bean
7.测试类