本站首页    管理页面    写新日志    退出


«August 2025»
12
3456789
10111213141516
17181920212223
24252627282930
31


公告
 本博客在此声明所有文章均为转摘,只做资料收集使用。

我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:
日志总数:1304
评论数量:2242
留言数量:5
访问次数:7592301
建立时间:2006年5月29日




[Spring]关于spring 2.0自定义xml 标记 (一 主要的相关类)
软件技术

lhwork 发表于 2006/12/30 10:13:06

在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 元素


阅读全文(2874) | 回复(0) | 编辑 | 精华
 



发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.340 second(s), page refreshed 144770536 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号