是否可以使用 @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
是否可以使用 @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
其中一种方法是使用 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]);
}