我有一个包含一组任意属性的Spring Boot属性源文件。我想获得所有这些属性并将它们添加到环境中。
我尝试将Environment注入到类中,并且我可以使用它来获取已知属性。但我不确定如何从那里获取所有属性。'
如果我当然可以使用传统的Properties.load(),那么有没有Spring方法呢?
答案 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
进入要访问它的类。