因为properties的局限性,有时候得使用XML文件来定义应用的配置参数,jConfig 正是这样一个读写XML配置文件的工具。开发者在 Java 程序中只需要使用get/set方法就能读取修改 XML 文件中的配置参数。jConfig 目前只支持两层结构,最新版本为 2.9。
该项目主页:http://www.jconfig.org/
1.新建工程demo,src下创建config.xml,demo_config.xml文件
<?xml version="1.0" encoding="iso-8859-1" ?>
<properties>
<variables>
<variable name="my.path" value="/home/foo/data"/>
</variables>
<category name="general">
<property name="upload_dir" value="${my.path}/data"/>
<property name="NewsCounter" value="10"/>
<property name="showNews" value="true"/>
<property name="MyProp" value="Hello world"/>
<property name="USER" value="user1"/>
</category>
<category name="JDBC">
<property name="URL" value="jdbc:mysql://localhost/iportal"/>
<property name="DRIVER" value="org.gjt.mm.mysql.Driver"/>
<property name="PWD" value="pwd"/>
<property name="USER" value="user2"/>
</category>
</properties>
2.加载xml的配置
读取默认的config.xml
private static final Configuration configuration = ConfigurationManager.getConfiguration();
读取demo_config.xml
private static final Configuration configuration = ConfigurationManager.getConfiguration("demo");
3.具体操作如下:
package com.jconfig;
import org.jconfig.Configuration;
import org.jconfig.ConfigurationManager;
public class DemoJConfig {
private static final Configuration configuration = ConfigurationManager.getConfiguration("demo");
public static void main(String[] args) {
//读取路径,路径中包括variable
String myProp = configuration.getProperty("upload_dir");
System.out.println("MyProp:" + myProp);
String jdbcUser = configuration.getProperty("USER", null, "JDBC");
System.out.println("jdbcUser:" + jdbcUser);
int newsCounter = configuration.getIntProperty("NewsCounter", -1);
if (newsCounter == 10) {
System.out.println("We have found the correct value");
}
boolean showNews = configuration.getBooleanProperty("showNews", false);
if (showNews) {
System.out.println("We have to show the news");
}
}
}
结果如下:
MyProp:/home/foo/data/data
jdbcUser:user2
We have found the correct value
We have to show the news
更多例子见附件

1761

被折叠的 条评论
为什么被折叠?



