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

我需要在地图中读取 application.properties 文件中的所有属性在下面的代码中,属性测试具有相应的值,但地图为空。如何在不向属性添加前缀的情况下使用 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;

    }

}


隔江千里
浏览 199回答 3
3回答

摇曳的蔷薇

@ConfigurationProperties据我所知,你不能这样做,那些需要一个前缀才能在 bean 中加载这些属性。但是,如果您的目标是以编程方式获取“属性 X”的“值 Y”,则始终可以注入Environment并使用该getProperty()方法来查找某些属性,例如:@Configurationpublic class InitialConfiguration {&nbsp; &nbsp; @Autowired&nbsp; &nbsp; private Environment environment;&nbsp; &nbsp; @PostConstruct&nbsp; &nbsp; public void test() {&nbsp; &nbsp; &nbsp; &nbsp; Integer aapl = environment.getProperty("AAPL", Integer.class); // 25&nbsp; &nbsp; &nbsp; &nbsp; Integer gddy = environment.getProperty("GDDY", Integer.class); // 65&nbsp; &nbsp; &nbsp; &nbsp; Integer test = environment.getProperty("test", Integer.class); // 22&nbsp; &nbsp; }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java