gpt4 book ai didi

java - Spring Boot 读取没有前缀的属性到 map

转载 作者:行者123 更新时间:2023-11-30 07:44:55 28 4
gpt4 key购买 nike

我需要在 map 中读取 application.properties 文件中的所有属性在下面的代码中,属性测试具有相应的值,但 map 是空的。如何在不向属性添加前缀的情况下使用 application.properties 文件中的值填充“映射”。

这是我的 application.properties 文件

AAPL=25
GDDY=65
test=22

我正在像这样使用@ConfigurationProperties

@Configuration
@ConfigurationProperties("")
@PropertySource("classpath:application.properties")
public class InitialConfiguration {
private HashMap<String, BigInteger> map = new HashMap<>();
private String test;

public HashMap<String, BigInteger> getMap() {
return map;
}

public void setMap(HashMap<String, BigInteger> map) {
this.map = map;
}

public String getTest() {
return test;
}

public void setTest(String test) {
this.test = test;
}
}

最佳答案

这可以使用 PropertiesLoaderUtils@PostConstruct

来实现

请检查以下示例:

@Configuration
public class HelloConfiguration {
private Map<String, String> valueMap = new HashMap<>();
@PostConstruct
public void doInit() throws IOException {
Properties properties = PropertiesLoaderUtils.loadAllProperties("application.properties");
properties.keySet().forEach(key -> {
valueMap.put((String) key, properties.getProperty((String) key));
});
System.err.println("valueMap -> "+valueMap);
}
public Map<String, String> getValueMap() {
return valueMap;
}
public void setValueMap(Map<String, String> valueMap) {
this.valueMap = valueMap;
}
}

关于java - Spring Boot 读取没有前缀的属性到 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52251303/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com