所以我需要获取一个Properties
对象来实例化消息使用者。在我的 Spring Boot 应用程序中,我在@Configuration
类中使用PropertySourcesPlaceholderConfigurer
将正确的属性加载到应用程序中。根据部署环境,我可以有多个活动的配置文件和属性文件。
我试图找到最无痛和 Spring 支持的方法来做到这一点,但我能想到以下方法:
-
使用
PropertiesLoaderUtils
从特定文件显式加载属性。我做类似"application-"+ activeProfile + ".properties"
.这是我迄今为止最好的方法,但我希望避免必须指定属性文件名并在可能的情况下重新加载属性。 -
使用
Environment
类和循环循环遍历所有加载的属性并将它们加载到Properties
对象中。我宁愿像方法 1 一样重新加载属性,而不是这样做。 -
可能使用其他属性加载器?但是我找不到任何明确的文档来为我的用例执行此操作。
我觉得应该有一种非常简单的方法来获得Properties
.有没有我错过的简单方法?有更好的解决方案吗?
你看过@configurationproperties吗
https://www.mkyong.com/spring-boot/spring-boot-configurationproperties-example/
http://www.baeldung.com/configuration-properties-in-spring-boot
基本上,spring会自动将这些属性注入到它刚刚实例化的豆子中。
注意:您需要@Configuration和@configurationproperties才能使其正常工作