<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    閑人野居
    好好學(xué)習(xí),天天向上
    posts - 57,  comments - 137,  trackbacks - 0
    ? 在spring 2.0 中,增加了自定義xml標(biāo)記這一重大的功能。下面主要看一下spring 2.0實(shí)現(xiàn)這一功能的主要相關(guān)類:

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

    ?? 實(shí)現(xiàn)類:
    ?? DefaultNamespaceHandlerResolver
    ??
    ?? 通過map 保存所有的對應(yīng)關(guān)系
    ?? 默認(rèn)使用spring.handlers文件來保存所有的handlers
    ?? 可以定義其他的location 如:

    ?? String location = "org/springframework/beans/factory/xml/support/customNamespace.properties";
    ?? NamespaceHandlerResolver resolver = new DefaultNamespaceHandlerResolver(getClass().getClassLoader(), location);
    ??
    ?? NamespaceHandler(接口)
    ???
    ????? 基礎(chǔ)接口,用于DefaultBeanDefinitionDocumentReader處理自定義命名空間。
    ????? 方法:
    ???? ??? void init();
    ???????? 由DefaultBeanDefinitionDocumentReader調(diào)用在構(gòu)造完后但在解析自定義元素前。
    ?
    ?? ????? BeanDefinition parse(Element element, ParserContext parserContext);
    ???????? 解析指定的元素。
    ?
    ?? ? ? ? BeanDefinitionHolder decorate(Node element,
    ??????????????????????????????????? BeanDefinitionHolder definition,
    ??????????????????????????????????? ParserContext parserContext);
    ???????? 執(zhí)行相應(yīng)的修飾。

    ?? 實(shí)現(xiàn)類:
    ????
    ???? 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

    ?? 實(shí)際的操作由具體的BeanDefinitionDecorator 或者BeanDefinitionParser 執(zhí)行

    ? BeanDefinitionDecorator(接口)

    ?? 裝飾相關(guān)的自定義屬性。

    ???? AbstractInterceptorDrivenBeanDefinitionDecorator
    ????????? 用于注冊相應(yīng)的Interceptor bean 定義,使用aop代理

    ? 其他類:

    ??? PluggableSchemaResolver,用于自定義相關(guān)的schema,默認(rèn)的schema 保存于spring.schemas文件中

    ??? 可以通過覆蓋resolveEntity方法來裝載相應(yīng)的自定義xsd文件

    ? 主要的執(zhí)行類:
    ?

    ? XmlBeanDefinitionReader
    ?
    ??? 用于處理相應(yīng)的讀取工作,其實(shí)主要的工作委派給BeanDefinitionDocumentReader


    ? 實(shí)際的類,就介紹到這,下一節(jié)通過實(shí)例來說明如何定義自定義xml 元素






    posted on 2006-10-27 18:08 布衣郎 閱讀(755) 評論(0)  編輯  收藏 所屬分類: spring

    <2006年10月>
    24252627282930
    1234567
    891011121314
    15161718192021
    22232425262728
    2930311234

    常用鏈接

    留言簿(12)

    隨筆分類(59)

    隨筆檔案(57)

    blog

    java

    uml

    搜索

    •  

    積分與排名

    • 積分 - 357268
    • 排名 - 155

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 免费人成在线观看播放a| 亚洲国产精品成人久久久| 亚洲av第一网站久章草| 在线观看免费人成视频色| 亚洲人色大成年网站在线观看| 久久久久久久99精品免费| 亚洲国产成人久久精品动漫| 69国产精品视频免费| 亚洲视频免费在线看| 最近高清中文字幕无吗免费看| wwwxxx亚洲| 日韩电影免费在线观看视频| 久久久久久久久无码精品亚洲日韩| 免费黄色一级毛片| 国产亚洲精品美女| 国产91精品一区二区麻豆亚洲| 中文字幕a∨在线乱码免费看| 亚洲免费视频网站| 国产日本一线在线观看免费| 亚洲av无码av在线播放| 亚洲人AV永久一区二区三区久久| 成人免费av一区二区三区| 亚洲成a人片在线观看日本| 三年片在线观看免费观看大全动漫 | 国产亚洲精彩视频| 久久亚洲av无码精品浪潮| 久久精品中文字幕免费| 亚洲色最新高清av网站| 亚洲日本一区二区一本一道| 久久狠狠躁免费观看| 亚洲视频在线观看2018| 亚洲av无码成人精品区| 久久国产精品国产自线拍免费| 亚洲一区精品视频在线| 一本色道久久88亚洲综合| 久别的草原电视剧免费观看| 亚洲av产在线精品亚洲第一站| 亚洲国产精品成人久久蜜臀| 免费视频精品一区二区三区| 亚洲另类自拍丝袜第五页| 亚洲AV无码一区二区三区DV|