zoukankan      html  css  js  c++  java
  • 3.3 spring-meta子元素的使用与解析

    1. meta元素的使用

    在解析元数据的分析之前,我们先回顾一下 meta属性的使用:

    <bean id="car" class="test.CarFactoryBean">
        <property name="carInfo" value="超级跑车,400,2000000"/>
      <meta key = "key" value = "values">
    </bean>

    这段代码并不会体现在 CarFactoryBean 的属性当中,而是一个额外的声明,当需要里面的属性时,可以通过BeanDefinition的getAttribute(key);方法获取,

      对meta属性解析的代码如下:

    beans/src/main/java/org/springframework/beans/factory/xml/BeanDefinitionParserDelegate.java

     1 public void parseMetaElements(Element ele,
     2             BeanMetadataAttributeAccessor attributeAccessor) {
     3         // 获取当前节点下的所有子元素
     4         NodeList nl = ele.getChildNodes();
     5         for (int i = 0; i < nl.getLength(); i++) {
     6             Node node = nl.item(i);
     7             // 提取meta
     8             if (isCandidateElement(node) && nodeNameEquals(node, META_ELEMENT)) {
     9                 Element metaElement = (Element) node;
    10                 String key = metaElement.getAttribute(KEY_ATTRIBUTE);
    11                 String value = metaElement.getAttribute(VALUE_ATTRIBUTE);
    12                 // 使用 key,value 构造 BeanMetadataAttribute
    13                 BeanMetadataAttribute attribute = new BeanMetadataAttribute(key, value);
    14                 attribute.setSource(extractSource(metaElement));
    15                 // 记录信息
    16                 attributeAccessor.addMetadataAttribute(attribute);
    17             }
    18         }
    19     }
  • 相关阅读:
    jquery validate使用总结
    javascript 学习笔记
    jquery easyui 学习总结
    javascript模式及javascript学习终极篇
    javascript学习笔记基础
    javascript学习笔记常见问题及技巧
    一道ITAT的题(C语言实现)
    JAVA实现约瑟夫算法
    JAXWS例子
    practical java笔记(实践1~5)
  • 原文地址:https://www.cnblogs.com/mjorcen/p/3647077.html
Copyright © 2011-2022 走看看