国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Java > 正文

Spring Boot中優雅的獲取yml文件工具類

2024-07-14 08:43:03
字體:
來源:轉載
供稿:網友

如何在spring boot中優雅的獲取.yml文件工具類呢

代碼如下:

package com.common.base.utils.base;import com.common.base.generator.ResourceManager;import org.yaml.snakeyaml.Yaml;import java.io.InputStream;import java.util.HashMap;import java.util.Map;/** * yml文件工具類 */public class YmlUtils {  private static String bootstrap_file = "bootstrap.yml";  private static Map<String,String> result = new HashMap<>();  /**   * 根據文件名獲取yml的文件內容   * @return   */  public static Map<String,String> getYmlByFileName(String file){    result = new HashMap<>();    if(file == null)      file = bootstrap_file;    InputStream in = ResourceManager.class.getClassLoader().getResourceAsStream(file);    Yaml props = new Yaml();    Object obj = props.loadAs(in,Map.class);    Map<String,Object> param = (Map<String, Object>) obj;    for(Map.Entry<String,Object> entry:param.entrySet()){      String key = entry.getKey();      Object val = entry.getValue();       if(val instanceof Map){        forEachYaml(key,(Map<String, Object>) val);      }else{        result.put(key,val.toString());      }    }    return result;  }  /**   * 根據key獲取值   * @param key   * @return   */  public static String getValue(String key){    Map<String,String> map = getYmlByFileName(null);    if(map==null)return null;    return map.get(key);  }  /**   * 遍歷yml文件,獲取map集合   * @param key_str   * @param obj   * @return   */  public static Map<String,String> forEachYaml(String key_str,Map<String, Object> obj){    for(Map.Entry<String,Object> entry:obj.entrySet()){      String key = entry.getKey();      Object val = entry.getValue();      String str_new = "";      if(StringUtils.isNotNull(key_str)){        str_new = key_str+ "."+key;      }else{        str_new = key;      }      if(val instanceof Map){        forEachYaml(str_new,(Map<String, Object>) val);      }else{        result.put(str_new,val.toString());      }    }    return result;  }  /**   * 獲取bootstrap.yml的name   * @return   */  public static String getApplicationName(){    return getYmlByFileName(bootstrap_file).get("spring.application.name");  }  /**   * 獲取bootstrap.yml的name   * @return   */  public static String getApplicationName1(){    String name = getYmlByFileName(bootstrap_file).get("spring.application.name");    return name + "center";  }  public static void main(String[] args) {    System.out.println(getApplicationName());  }}

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VeVb武林網的支持。


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 偃师市| 梅州市| 绿春县| 鲜城| 宝应县| 顺平县| 胶南市| 芦山县| 康保县| 和静县| 乐亭县| 墨玉县| 驻马店市| 资兴市| 潼南县| 进贤县| 盐山县| 富平县| 盖州市| 隆回县| 黄大仙区| 滨州市| 延边| 黔西| 河曲县| 梁平县| 康马县| 改则县| 遂宁市| 阿勒泰市| 偃师市| 攀枝花市| 南江县| 沾化县| 康保县| 大余县| 延安市| 鄂尔多斯市| 池州市| 五河县| 临城县|