基于spring boot读取配置yaml hashmap
Posted
技术标签:
【中文标题】基于spring boot读取配置yaml hashmap【英文标题】:Spring boot reading configuration yaml hashmap based 【发布时间】: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
【问题讨论】:
【参考方案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]);
【讨论】:
以上是关于基于spring boot读取配置yaml hashmap的主要内容,如果未能解决你的问题,请参考以下文章
Spring Boot 无法从配置文件特定的 yaml 文件中读取
spring boot 读取 application.yml 中 List 类型数据