2016-11-18 67 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轉換爲您要訪問它的類。