关于apache commons的综合使用
背景:开发一个使用xml配置文件来处理跨数据库的数据操作。例如,我本地有一个mysql数据库叫A,里面有一个表叫test,test有两个字段,fistName和lastName;另一个服务器上有一个Oracle数据库叫B,里面有两个表,test1,test2,他两的结构是一样的,都有,Name这个字段;现在就是要把A中的表test里的fistName和lastName做字符串连接,然后存到B中的表test1,test2的Name字段。
commons-configuration的使用
得到XMLConfiguration 的几种方式
XMLConfiguration config = new XMLConfiguration(String);
XMLConfiguration config = new XMLConfiguration();
config.load(String);
我自己是不喜欢操作xml的,所以就没有使用dom4j和jdom的习惯。使用commons-configuration令我最爽的地方是指针式的访问方式,例如,在如下xml中,如果你得到code属性的值,只需要写如下Java代码
List codes = config.getList("columns.column.[@code]");
<?xml version="1.0" encoding="UTF-8"?>
<origin dataSource="ds">
<columns>
<column code="ID" name="" type="java.lang.Integer" length="" />
<column code="FIRSTNAME" name="" type="java.lang.String" length="" />
<column code="LASTNAME" name="" type="java.lang.String" length="" />
<column code="SEX" name="" type="java.lang.String" length="" />
</columns>
</origin>
如果你的得到的字符串中有逗号,那么他会以","分割,只会得到第一个字符串。所以你必须用"\"转义,例如
String array = config.getString("config.array"); //array="10",并不是10,20,30,40
String scalar = config.getString("config.scalar"); // scalar="3,1415"
String text = config.getString("config.cite.[@text]"); // text ="To be or not to be, this is the question!"
<config>
<array>10,20,30,40</array>
<scalar>3\,1415</scalar>
<cite text="To be or not to be\, this is the question!"/>
</config>
默认情况下,config以","分割字符串,其实还可以使用如下方法(AbstractConfiguration 是XMLConfiguration 的父类)
AbstractConfiguration.setListDelimiter(char listDelimiter) //设置限定符
AbstractConfiguration.setDelimiterParsingDisabled(boolean) //设置限定符是否有效
注意:以上方法的设置要xml文件load之前(换而言之,是不能使用XMLConfiguration config = new XMLConfiguration(String)),否则,此次设置将无效,正确使用如下方式
XMLConfiguration config = new XMLConfiguration();
config.setDelimiterParsingDisabled(true);
try {
config.load(path);
} catch (Exception e) {
// TODO Auto-generated catch block
logger.error("载入文件出错",e);
}
还有一个比较常用的方法,例如你想把column中的属性全部取出到一个叫Bean的Java类中,你就必须定位到column,这时常用以下方式
List<HierarchicalConfiguration> columns = (List<HierarchicalConfiguration>) config.configurationsAt("origin.columns.column");
List Beans = new ArrayList(columns.size());
for (int i = 0; i < columns.size(); i++) {
HierarchicalConfiguration column = (HierarchicalConfiguration)columns.get(i);
Bean bean = new Bean();
bean.setCode(column.getString("[@code]"));
bean.setName(column.getString("[@name]"));
...
...
beans.add(bean);
}
分享到:
相关推荐
赠送jar包:commons-configuration-1.10.jar 赠送原API文档:commons-configuration-1.10-javadoc.jar 赠送源代码:commons-configuration-1.10-sources.jar 包含翻译后的API文档:commons-configuration-1.10-...
赠送jar包:commons-configuration2-2.1.1.jar; 赠送原API文档:commons-configuration2-2.1.1-javadoc.jar; 赠送源代码:commons-configuration2-2.1.1-sources.jar; 赠送Maven依赖信息文件:commons-...
commons-configuration2-2.0.jar Apache commons-configuration 读取配置文件
赠送jar包:commons-configuration2-2.1.1.jar; 赠送原API文档:commons-configuration2-2.1.1-javadoc.jar; 赠送源代码:commons-configuration2-2.1.1-sources.jar; 赠送Maven依赖信息文件:commons-...
赠送jar包:commons-configuration-1.10.jar; 赠送原API文档:commons-configuration-1.10-javadoc.jar; 赠送源代码:commons-configuration-1.10-sources.jar; 赠送Maven依赖信息文件:commons-configuration-...
在给定的"commons-configuration-1.10"版本中,我们可以深入探讨以下几个核心知识点: 1. **配置文件支持**:Commons Configuration 支持多种格式的配置文件,包括XML、INI、Properties和HOCON(Hadoop配置格式)。...
commons-configuration-1.2.jar commons-configuration-1.2.jar
commons-configuration-1.8.jar
在本文中,我们将深入探讨`commons-configuration-1.10.jar`这个特定版本的特性、功能及其使用方法。 `commons-configuration-1.10.jar`是Apache Commons Configuration库的一个稳定版本,发布于2013年,它为开发者...
commons-configuration-1.6
commons-configuration-1.10
Commons-configuration-1.3-API.chm英文版
赠送jar包:commons-configuration-1.7.jar; 赠送原API文档:commons-configuration-1.7-javadoc.jar; 赠送源代码:commons-configuration-1.7-sources.jar; 赠送Maven依赖信息文件:commons-configuration-1.7....
赠送jar包:commons-configuration-1.7.jar; 赠送原API文档:commons-configuration-1.7-javadoc.jar; 赠送源代码:commons-configuration-1.7-sources.jar; 赠送Maven依赖信息文件:commons-configuration-1.7....
commons-configuration-1.3.jar 功能支撑包。
hadoop 项目中必要commons-configuration-1.0.jar 包
- `commons-configuration-1.9-bin.zip` 包含了编译后的二进制库,通常包含JAR文件,这些是运行时需要引入的库文件,用于在项目中使用Commons Configuration。 - `commons-configuration-1.9-src.zip` 则包含了...
Commons Configuration 使用`XMLConfiguration`类来处理XML配置文件。它支持XPath表达式,允许你通过路径定位到特定的配置元素。此外,XMLConfiguration还具备递归解析嵌套元素的能力,这对于大型复杂应用来说非常...
`commons-configuration-1.7`是该库的一个版本,它包含了源代码,允许开发者深入理解其内部工作原理并进行定制或扩展。 1. **配置资源类型**: - XML配置:Apache Commons Configuration 支持读取和解析XML格式的...