查看文章 |
处理配置文件的利器,Apache commons-configuration
2009-11-01 23:17
官方URL: http://commons.apache.org/configuration/userguide/howto_xml.html#Hierarchical_properties <?xml version="1.0" encoding="UTF-8"?> <config> <company> <name>中博科创综合管理平台</name> <address>深圳市南山区高新南一道飞亚达科技大厦1402 </address> <post>518057</post> <testVar>${company.address}--${company.post}</testVar> </company> </config> 几个注意点: 1. XML配置文件根节点是不算的,上面示例的config节点不用写 String companyName=config.getString("company.name", "没有读取到时的默认值"); 2. 可以指定没有读取到配置项时的默认值 3. 可以使用其它节点的作为变量,如示例的testVar节点,值就是引用其它节点的值 4. 可以使用单例模式,保证系统只有一个Configuration对象,如下 ----------------------------------------------------------------------------------------------- public class AppConfigUtils { private static XMLConfiguration config = null; static { String configFilePath = "AppConfig.xml"; try { config = new XMLConfiguration(configFilePath); //logger.info("读取配置文件[" + configFilePath + "]成功"); } catch (ConfigurationException e) { // logger.error("读取系统配置文件[" + configFilePath + "]错误", e); } } public static Configuration getConfiguration() { return config; } public static void main(String[] args) { // 注意:xml第一个节点不用写,以点符号表示节点的层级 String appTitle = AppConfigUtils.getConfiguration().getString( "company.appTitle", "如果没有读取到时的默认值"); String testVar = AppConfigUtils.getConfiguration().getString( "company.testVar", "默认值"); System.out.println("appTitle[" + appTitle + "]"); System.out.println("testVar[" + testVar + "]"); } } ------------------------------------------------------------------------------------------------- |
最近读者:
