天天看點

解析子元素meta

在開始解析中繼資料的分析前,先回顧下中繼資料meta屬性的使用。

<bean id="user" class="com.pan.entity.User" >
   		<meta key="testStr" value="aaaaaa"/>
   </bean>
           

這段代碼并不會展現在User的屬性中,而是一個額外的聲明,當需要使用裡面的資訊時可以通過BeanDefinition的getAttribute(key)方法進行擷取。

public void parseMetaElements(Element ele, BeanMetadataAttributeAccessor attributeAccessor) {
		NodeList nl = ele.getChildNodes();
		for (int i = 0; i < nl.getLength(); i++) {
			Node node = nl.item(i);
			if (isCandidateElement(node) && nodeNameEquals(node, META_ELEMENT)) {
				Element metaElement = (Element) node;
				String key = metaElement.getAttribute(KEY_ATTRIBUTE);
				String value = metaElement.getAttribute(VALUE_ATTRIBUTE);
				BeanMetadataAttribute attribute = new BeanMetadataAttribute(key, value);
				attribute.setSource(extractSource(metaElement));
				attributeAccessor.addMetadataAttribute(attribute);
			}
		}
	}
           

繼續閱讀