shilang 发表于 2015-8-4 08:48:46

Apache Commons configuration使用入门

  使用CommonsConfiguration可以很好的管理我们的配置文件的读写,
  官网:http://commons.apache.org/configuration
  需要用到commons-lang,commons-collections,commons-logging,log4j jar包
  public class Test {
   
    public staticvoid main(String[] args) throws ConfigurationException, InterruptedException {
      xmlLoadTest();
      fileLoadTest();
      saveTest();
      runtimeReload();
    }
    //xml文件
    public static void xmlLoadTest() throws ConfigurationException{
      String file = "test1.xml";
      XMLConfiguration config = new XMLConfiguration(Test.class.getResource(file));
      System.out.println(config.getString("conf.url"));
      System.out.println(config.getDouble("conf.money"));
    }
    //properties文件
    private static void fileLoadTest() throws ConfigurationException {
      String file = "test2.properties";
      PropertiesConfiguration config = new PropertiesConfiguration(Test.class.getResource(file));
      System.out.println(config.getString("url"));
    }
    //保存到文件
    public static void saveTest() throws ConfigurationException{
      String file = "test2.properties";
      PropertiesConfiguration config = new PropertiesConfiguration(Test.class.getResource(file));
      //设置自动保存 或显示调用 config.save();
      config.setProperty("colors.background", "#000000");
      config.setAutoSave(true);
    }
    //运行期参数修改加载
    public static void runtimeReload() throws ConfigurationException, InterruptedException{
      String file = "test2.properties";
      PropertiesConfiguration config = new PropertiesConfiguration(Test.class.getResource(file));
      config.setReloadingStrategy(new FileChangedReloadingStrategy());
      System.out.println(config.getString("url"));
      Thread.sleep(10000);//在休眠期间,手动修改文件里面的url值后观察日志情况
      System.out.println(config.getString("url"));
    }
}
页: [1]
查看完整版本: Apache Commons configuration使用入门