在开始解析元数据的分析前,先回顾下元数据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);
}
}
}