2016-11-18 69 views
0

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

我试着将环境注入到类中,并且我可以使用它来获取已知的属性。但我不知道如何从那里获得全部属性。'

如果当然我可以使用传统的Properties.load(),但是有没有Spring方法来做到这一点?

回答

0

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

在此university session at Devoxx中有一个示例,其中we showcase how to read a file from the home directory并将其添加到命令行属性之后。你可以做几乎相同的事情,按照你想要的方式排列。

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

0

如果你把你的属性放到“application.properties”(或其他地方描述的here)中,这些属性在Spring的环境中自动提供。

访问属性的一种方法就是将@AutowireEnvironment转换为您要访问它的类。