Package com.xiaoleilu.hutool

Examples of com.xiaoleilu.hutool.Setting


   * ---------------------
   */
  synchronized public void initSingle() {
    if(setting == null) {
      try {
        setting = new Setting(MONGO_CONFIG_PATH, CharsetUtil.UTF_8, true);
      } catch (Exception e) {
        //在single模式下,可以没有配置文件。
      }
    }
   
View Full Code Here


      throw new UtilException("Please give replication set groups!");
    }
   
    if(setting == null) {
      //若未指定配置文件,则使用默认配置文件
      setting = new Setting(MONGO_CONFIG_PATH, Setting.DEFAULT_CHARSET, true);
    }
   
    List<ServerAddress> addrList = new ArrayList<ServerAddress>();
    for (String group : groups) {
      addrList.add(createServerAddress(group));
View Full Code Here

   * @param setting 数据库配置
   * @param group 数据库配置文件中的分组
   */
  public SimpleDataSource(Setting setting, String group) {
    if(null == setting) {
      setting = new Setting(DEFAULT_DB_CONFIG_PATH);
    }
    init(
        setting.getString("url", group),
        setting.getString("user", group),
        setting.getString("pass", group)
View Full Code Here

    // 初始化Druid配置文件
    druidSetting = druid_setting;
    if (druidSetting == null) {
      try {
        druidSetting = new Setting(DEFAULT_DRUID_CONFIG_PATH, Setting.DEFAULT_CHARSET, true);
      }catch(Exception e) {
        log.info("Druid setting file {} not found.", DEFAULT_DRUID_CONFIG_PATH);
      }
    }
    // 初始化数据库连接配置文件
    dbSetting = db_setting;
    if (dbSetting == null) {
      try {
        dbSetting = new Setting(DEFAULT_DB_CONFIG_PATH, Setting.DEFAULT_CHARSET, true);
      }catch(Exception e) {
        log.info("No default DB config file {} found, custom to init it.", DEFAULT_DB_CONFIG_PATH);
      }
    }
  }
View Full Code Here

    dds.setPassword(dbSetting.getString("pass", group));
   
    //此连接自定义的连接池配置
    String dsSettingPath = dbSetting.getString("ds.setting.path");
    if(StrUtil.isNotBlank(dsSettingPath)) {
      injectSetting(new Setting(dsSettingPath), dds);
    }
   
    // 添加到数据源池中,以备下次使用
    dsMap.put(group, dds);
    return dds;
View Full Code Here

*/
public class SettingDemo {
  public static void main(String[] args) throws IOException {
    //--------------------------------------------- 初始化
    //读取classpath下的XXX.setting,不使用变量
    Setting setting = new Setting("XXX.setting");
   
    //读取classpath下的config目录下的XXX.setting,不使用变量
    setting = new Setting("config/XXX.setting");
   
    //读取绝对路径文件/home/looly/XXX.setting(没有就创建,关于touch请查阅FileUtil)
    //第二个参数为自定义的编码,请保持与Setting文件的编码一致
    //第三个参数为是否使用变量,如果为true,则配置文件中的每个key都可以被之后的条目中的value引用形式为 ${key}
    setting = new Setting(FileUtil.touch("/home/looly/XXX.setting"), CharsetUtil.UTF_8, true);
   
    //读取与SettingDemo.class文件同包下的XXX.setting
    setting = new Setting("XXX.setting", SettingDemo.class, CharsetUtil.UTF_8, true);
   
    //--------------------------------------------- 使用
    //获取key为name的值
    setting.getString("name");
    //获取分组为group下key为name的值
    setting.getString("name", "group1");
    //当获取的值为空(null或者空白字符时,包括多个空格),返回默认值
    setting.getStringWithDefault("name", "默认值");
    //完整的带有key、分组和默认值的获得值得方法
    setting.getStringWithDefault("name", "group1", "默认值");
   
    //如果想获得其它类型的值,可以调用相应的getXXX方法,参数相似
   
    //有时候需要在key对应value不存在的时候(没有这项设置的时候)告知用户,故有此方法打印一个debug日志
    setting.getWithLog("name");
    setting.getWithLog("name", "group1");
   
    //重新读取配置文件,可以启用一个定时器调用此方法来定时更新配置
    setting.reload();
   
    //当通过代码加入新的键值对的时候,调用store会保存到文件,但是会覆盖原来的文件,并丢失注释
    setting.setSetting("name1", "value");
    setting.store("/home/looly/XXX.setting");

    //获得所有分组名
    setting.getGroups();
   
    //将key-value映射为对象,原理是原理是调用对象对应的setXX方法
    //setting.toObject();
   
    //设定变量名的正则表达式。
    //Setting的变量替换是通过正则查找替换的,如果Setting中的变量名和其他冲突,可以改变变量的定义方式
    //整个正则匹配变量名,分组1匹配key的名字
    setting.setVarRegex("\\$\\{(.*?)\\}");
  }
 
View Full Code Here

TOP

Related Classes of com.xiaoleilu.hutool.Setting

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.