为了账号安全,请及时绑定邮箱和手机立即绑定

Spring Boot 读取没有映射前缀的属性

Spring Boot 读取没有映射前缀的属性

隔江千里 2021-09-12 11:00:15
我需要在地图中读取 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

    }

}


查看完整回答
反对 回复 2021-09-12
  • 3 回答
  • 0 关注
  • 198 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信