我需要在地图中读取 application.properties 文件中的所有属性在下面的代码中,属性测试具有相应的值,但地图为空。如何在不向属性添加前缀的情况下使用 application.properties 文件中的值填充“映射”。这是我的 application.properties 文件AAPL=25GDDY=65test=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; }}
3 回答
摇曳的蔷薇
TA贡献1793条经验 获得超6个赞
@ConfigurationProperties据我所知,你不能这样做,那些需要一个前缀才能在 bean 中加载这些属性。
但是,如果您的目标是以编程方式获取“属性 X”的“值 Y”,则始终可以注入Environment并使用该getProperty()方法来查找某些属性,例如:
@Configuration
public class InitialConfiguration {
@Autowired
private Environment environment;
@PostConstruct
public void test() {
Integer aapl = environment.getProperty("AAPL", Integer.class); // 25
Integer gddy = environment.getProperty("GDDY", Integer.class); // 65
Integer test = environment.getProperty("test", Integer.class); // 22
}
}
添加回答
举报
0/150
提交
取消