关键字: dom4j, 配置, 使用
# 关键的API
SAXReader = new SAXReader();
is = this.getClass().getClassLoader().getResourceAsStream("beans.xml");
Document doc = reader.read(is);
Element root = doc.getRootElement();
List<?> subElements = root.elements("bean");
Element subElement = ele.element("bean");
Attribute idAttr = subElement.attribute("id");
String eleName = subElement.attributeValue("id");
eleName = idAttr.stringValue();
String beanClassName = subElement.attributeValue("class");
Object bean = Class.forName(beanClassName).newInstance();
Java 代码:
private Map<String, Object> parseBeanXml(InputStream is) throws Exception {
SAXReader reader = new SAXReader();
Document doc = reader.read(is);
Element root = doc.getRootElement();
logger.debug("root element name:" + root.getName());
List<?> beanList = root.elements("bean");
List<Element> beanElements = new ArrayList<Element>();
for (Object beanObj : beanList) {
Element bean = (Element) beanObj;
String beanName = bean.attributeValue("id");
String beanClassStr = bean.attributeValue("class");
Class<?> beanClass = Class.forName(beanClassStr);
Object beanInstance = beanClass.newInstance();
beanElements.add(bean);
beanFactory.put(beanName, beanInstance);
}
for (Element bean : beanElements) {
List<?> proxyElements = bean.elements("proxy");
if (!proxyElements.isEmpty()) {
String beanName = bean.attributeValue("id");
String beanClassStr = bean.attributeValue("class");
Class<?> beanClass = Class.forName(beanClassStr);
List<Class<?>> proxyClasses = new ArrayList<Class<?>>();
List<Interceptor> interceptors = new ArrayList<Interceptor>();
for (Object proxyObj : proxyElements) {
Element proxy = (Element) proxyObj;
Attribute proxyRefAttr = proxy.attribute("ref");
Class<?> proxyClass = beanFactory.get(
proxyRefAttr.getStringValue()).getClass();
proxyClasses.add(proxyClass);
interceptors.add((Interceptor) proxyClass.newInstance());
}
Object beanProxy = getProxy(beanClass.newInstance(),
interceptors);
beanFactory.put(beanName, beanProxy);
}
}
return this.beanFactory;
}
分享到:
相关推荐
DOM4J的关键特性之一是其对XPath的支持。XPath是一种在XML文档中查找信息的语言,可以用来选取节点或节点集。DOM4J的XPath支持允许开发者通过简洁的表达式来查找、过滤和导航XML文档的结构,大大简化了数据提取和...
版本1.6.1是其稳定且广泛使用的版本之一。 **二、主要特性** 1. **灵活的API**:Dom4J的API设计使得开发者可以方便地创建、修改XML文档结构,支持XPath查询。 2. **内存效率**:相比DOM,Dom4J在内存使用上更为高效...
"dom4j.CHM"可能是中文版的使用指南或示例,对于理解DOM4J的用法和实践具有很大的帮助。 总之,DOM4J是Java处理XML的强大工具,它的灵活性、易用性和高效性使得它在开发中广泛应用。通过深入学习和实践DOM4J,Java...
DOM4J作为Java平台上的XML处理工具,其灵活性和高效性使其成为开发者的首选之一。它提供了丰富的API,允许开发者以多种方式操作XML文档,包括构建XML结构、查询XML节点、执行XPath表达式等。 在描述中提到,“lib...
通过以上介绍,我们可以看出DOM4J是一个功能强大且易用的XML处理库,提供的完整Jar包包括了源码和XPath支持,使得开发人员能够高效地处理XML文档,而帮助文档则为开发者提供了详细的使用指南。对于需要处理XML的Java...
DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活且高效的API,使得XML的...同时,DOM4J与其他Java XML库(如JDOM、JAXB)相比,其性能和易用性都得到了广泛的赞誉,是开发人员处理XML文档的首选工具之一。
**DOM4J完全指南** DOM4J是一款强大的Java ...总的来说,DOM4J是Java开发者处理XML的首选工具之一,其强大的功能和易用性使得XML操作变得更加简单。通过深入学习和实践,你可以充分利用DOM4J提高XML处理的效率和质量。
dom4j-1.6.1.jar 和 dom4j.jar 是两个常用的DOM解析库,其中dom4j提供了Java API,便于处理XML文档。 2. SAX解析:SAX是一种事件驱动的解析器,它逐行扫描XML文档,遇到元素、属性等时触发相应的事件回调。这种方式...
“inkfish_app之jar包二”可能是这个压缩包中主要的jar文件名,inkfish_app可能是一个应用程序的名字,而“jar包二”可能表示这是一个系列的第二个jar文件,可能用于特定的功能扩展或者是在原有基础上的更新版本。...
总的来说,XML是IT领域中的基础工具之一,理解并掌握XML有助于你在处理结构化数据时更高效、灵活。通过深入学习XML的语法、解析方法以及与其相关的技术,如XSLT和XPath,你将在数据处理和应用程序开发方面获得强大的...
1. **Java版本历史**:J2SDK 1.4.2是Java平台的一个早期版本,它位于Java SE(标准版)的1.x系列之中。在Java SE 5.0(也称为Java 2 SDK 1.5.0)之前,Java平台的命名遵循了J2SE(Java 2 Standard Edition)的模式。...
1. **DOJO模块系统**:DOJO的核心特性之一就是它的模块化设计,基于AMD(Asynchronous Module Definition)规范,使得代码组织有序,便于管理和复用。书中会详细介绍如何使用`require`和`define`来组织和加载模块。 ...
总的来说,Xalan-Java XSLT处理器是一个强大且灵活的工具,适用于处理XML数据的格式转换,尤其在Java开发环境中,它的易用性和高性能使其成为处理XML任务的首选之一。通过理解和掌握Xalan-Java,开发者可以更好地...
在Java编程中,处理XML文件是一项常见的任务,用于数据存储、配置管理或数据交换。...如果你需要进一步了解DOM4J,可以参考官方提供的帮助文档,它包含了详细的API指南和快速入门教程,能帮助你更好地掌握DOM4J的使用。
7. **链式操作**:jQuery的强项之一是链式操作,可以连续调用多个方法: ```javascript // 不推荐 $second.html(value); $second.on('click', function(){ alert('hello everybody'); }); $second.fadeIn('slow'); $...
XML的解析库和工具很多,如Java的JAXB、DOM4J,Python的lxml,JavaScript的DOMParser等。学习XML,不仅要理解其基本语法,还需要掌握解析和处理XML的方法,以及如何利用XML实现数据交换和存储。 总结来说,XML是一...
8. **DOM4J和JDOM**:在Java开发中,DOM4J和JDOM是常用的XML处理库,提供了方便的API进行XML解析、操作和生成。 9. **XML与JSON**:虽然XML功能强大,但JSON因其简洁性和易用性在现代Web应用中更为流行。两者各有...
对于使用MySQL数据库的项目,获取并正确配置MySQL的JDBC驱动程序是使用Hibernate的前提条件之一。这通常涉及将MySQL的JDBC驱动jar文件添加到项目的类路径中。 2. **Hibernate版本选择**:在撰写教程时,提及的稳定...
2. **JDOM**:JDOM作为一种专门针对Java语言设计的API,比DOM更加简洁和易于使用。它仅适用于Java环境,这使得其在Java中的使用体验更为流畅。与DOM相比,使用JDOM进行XML操作通常更为简单快捷。 3. **SAX**:...