是否有 Spring 支持的方法可以从应用程序环境中获取属性对象?



所以我需要获取一个Properties对象来实例化消息使用者。在我的 Spring Boot 应用程序中,我在@Configuration类中使用PropertySourcesPlaceholderConfigurer将正确的属性加载到应用程序中。根据部署环境,我可以有多个活动的配置文件和属性文件。

我试图找到最无痛和 Spring 支持的方法来做到这一点,但我能想到以下方法:

  1. 使用PropertiesLoaderUtils从特定文件显式加载属性。我做类似"application-"+ activeProfile + ".properties".这是我迄今为止最好的方法,但我希望避免必须指定属性文件名并在可能的情况下重新加载属性。

  2. 使用Environment类和循环循环遍历所有加载的属性并将它们加载到Properties对象中。我宁愿像方法 1 一样重新加载属性,而不是这样做。

  3. 可能使用其他属性加载器?但是我找不到任何明确的文档来为我的用例执行此操作。

我觉得应该有一种非常简单的方法来获得Properties.有没有我错过的简单方法?有更好的解决方案吗?

你看过@configurationproperties吗

https://www.mkyong.com/spring-boot/spring-boot-configurationproperties-example/

http://www.baeldung.com/configuration-properties-in-spring-boot

基本上,spring会自动将这些属性注入到它刚刚实例化的豆子中。

注意:您需要@Configuration和@configurationproperties才能使其正常工作

最新更新