獲取spring應用中的所有的配置信息

獲取spring應用中所有的配置信息

前置條件:在一個bean中注入

Autowired
private Environment environment;

獲取方法代碼:

@GetMapping("obtain.environment")
  public R obtainEnvironment() {
    StandardServletEnvironment standardServletEnvironment = (StandardServletEnvironment) environment;
    Map<String, Map<String, String>> map = new HashMap<>(8);
    Iterator<PropertySource<?>> iterator = standardServletEnvironment.getPropertySources().iterator();
    while (iterator.hasNext()) {
      PropertySource<?> source = iterator.next();
      Map<String, String> m = new HashMap<>(128);
      String name = source.getName();
      Object o = source.getSource();
      if (o instanceof Map) {
        for (Map.Entry<String, Object> entry : ((Map<String, Object>) o).entrySet()) {
          String key = entry.getKey();
          m.put(key, standardServletEnvironment.getProperty(key));
        }
      }
      map.put(name, m);
    }
    return R.success(map);
  }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章