科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道spring 2.0自定义xml 标记 (一 相关类)

spring 2.0自定义xml 标记 (一 相关类)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

spring 2.0自定义xml 标记 (一 相关类)

作者:baocl 来源:赛迪网技术社区 2007年11月21日

关键字: XML 自定义 spring 2.0

  • 评论
  • 分享微博
  • 分享邮件

在spring 2.0 中,增加了自定义xml标记这一重大的功能。下面主要看一下spring 2.0实现这一功能的主要相关类:

NamespaceHandlerResolver(接口)
由DefaultBeanDefinitionDocumentReader使用,用于定位NamespaceHandler,指定特定的命名空间uri

实现类:
DefaultNamespaceHandlerResolver

通过map 保存所有的对应关系
默认使用spring.handlers文件来保存所有的handlers
可以定义其他的location 如:

String location = "org/springframework/beans/factory/xml/support/customNamespace.properties";
NamespaceHandlerResolver resolver = new DefaultNamespaceHandlerResolver(getClass().getClassLoader(), location);

NamespaceHandler(接口)

基础接口,用于DefaultBeanDefinitionDocumentReader处理自定义命名空间。
方法:
void init();
由DefaultBeanDefinitionDocumentReader调用在构造完后但在解析自定义元素前。

BeanDefinition parse(Element element, ParserContext parserContext);
解析指定的元素。

BeanDefinitionHolder decorate(Node element,
BeanDefinitionHolder definition,
ParserContext parserContext);
执行相应的修饰。

实现类:

NamespaceHandlerSupport(抽象类)

主要的三个方法:
protected final void registerBeanDefinitionDecorator(
String elementName,
BeanDefinitionDecorator decorator)
注册decorator,通过element

protected final void registerBeanDefinitionDecoratorForAttribute(
String attributeName,
BeanDefinitionDecorator decorator)
注册decorator,通过attr

protected final void registerBeanDefinitionParser(
String elementName,
BeanDefinitionParser parser)
注册BeanDefinitionParser,通过element

实际的操作由具体的BeanDefinitionDecorator 或者BeanDefinitionParser 执行

BeanDefinitionDecorator(接口)

装饰相关的自定义属性。

AbstractInterceptorDrivenBeanDefinitionDecorator
用于注册相应的Interceptor bean 定义,使用aop代理

其他类:

PluggableSchemaResolver,用于自定义相关的schema,默认的schema 保存于spring.schemas文件中

可以通过覆盖resolveEntity方法来装载相应的自定义xsd文件

主要的执行类:

XmlBeanDefinitionReader

用于处理相应的读取工作,其实主要的工作委派给BeanDefinitionDocumentReader

实际的类,就介绍到这,下一节通过实例来说明如何定义自定义xml 元素

href="http://java.ccidnet.com/art/3559/20071030/1258369_1.html" target=_blank>查看本文来源
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章