zoukankan      html  css  js  c++  java
  • Apache Commons configuration使用入门

    使用Commons  Configuration可以很好的管理我们的配置文件的读写,

    官网:http://commons.apache.org/configuration

    需要用到commons-lang,commons-collections,commons-logging,log4j jar包

    public class Test {
        
        public static  void 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"));
        }

    }

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    [BUGCASE]CI框架的post方法对url做了防xss攻击的处理引发的文件编码错误
    [BUGCASE]Webpack打包报JavaScript堆内存泄漏的错误
    [BUGCASE]前端码案概述
    实现复杂状态机的一种思路
    日期选择组件(DatePicker)的实现
    前端开发的积木理论——像搭积木一样做前端开发
    GitHub 使用
    数组循环常用几种方法
    react 如何引入图片, 背景图片, 盒子上下左右居中
    react select案例
  • 原文地址:https://www.cnblogs.com/weiguo21/p/4823997.html
Copyright © 2011-2022 走看看