1

是否可以使用 @configurationproperties 在 Spring Boot 中读取 yaml 文件?

app:
  X1:
    key1: value1
    key2: value2

  X2:
    key1: value3
    key2: value4 
  X3:
    key1: value5
    key2: value6
  X4:
    key1: value7
    key2: value8

我想阅读并将其作为 Hashmap

4

1 回答 1

1

其中一种方法是使用 EnvironmentPostProcessor。您必须在后处理器中手动将它们放入 Hahsmap 中。将属性值读取为“key:value”,然后使用 String split 将它们设置在 HashMap 中。

public class CreatehashMapPostProcessor implements EnvironmentPostProcessor {

  private static final String PROPERTY_SOURCE_NAME = "app.properties";

  @Override
  public void postProcessEnvironment(ConfigurableEnvironment env, SpringApplication application) {
    Map<String, Object> map = new HashMap<String, String>();
    String []val = env.getProperty("...");
   map.put(val[0], val[1]);
  }
于 2020-02-16T20:38:54.607 回答