【问题标题】:Spring boot reading configuration yaml hashmap based基于spring boot读取配置yaml hashmap
【发布时间】:2020-05-31 18:54:56
【问题描述】:
是否可以在 Spring Boot 中使用 @configurationproperties 读取 yaml 文件?
app:
X1:
key1: value1
key2: value2
X2:
key1: value3
key2: value4
X3:
key1: value5
key2: value6
X4:
key1: value7
key2: value8
我想阅读并把它写成Hashmap
【问题讨论】:
标签:
spring-boot-configuration
【解决方案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]);
}