如何直接将Spring Boot属性源中的属性添加到环境中

时间:2016-11-18 19:48:13

标签: spring-boot

我有一个包含一组任意属性的Spring Boot属性源文件。我想获得所有这些属性并将它们添加到环境中。

我尝试将Environment注入到类中,并且我可以使用它来获取已知属性。但我不确定如何从那里获取所有属性。'

如果我当然可以使用传统的Properties.load(),那么有没有Spring方法呢?

3 个答案:

答案 0 :(得分:0)

您是否尝试过@PropertySource anotation?

答案 1 :(得分:0)

我不建议使用PropertySource,因为您无法配置添加的属性的优先级。您可能希望以某种方式覆盖这些属性,也许?或者您可能希望这些属性优先于其他属性。为此,我建议您实施EnvironmentPostProcessor

university session at Devoxx中有一个示例we showcase how to read a file from the home directory,并在命令行属性后添加它。你可以做同样的事情并按照你想要的方式订购它们。

示例应用是available here,如果您想尝试一下。

答案 2 :(得分:0)

如果将属性放入“application.properties”(或任何其他描述为here的位置),则属性将在Spring环境中自动提供。

访问属性的一种方法就是@Autowire Environment进入要访问它的类。