Spring 启动 - 正在将配置 属性 文件加载到 java.util.properties

Spring boot - Loading configuration property file in to java.util.properties

我需要将配置 属性 完全加载到我的 spring 引导项目中的 java.util.Properties 文件中,然后需要将其传递到任何需要的地方。使用 Spring 引导,我可以加载完整文件并可以通过键访问值。但是我如何将整个配置文件加载到 Properties 对象或在需要的地方传递 spring 加载的 属性(不是单个值而是所有值)?

我当前的代码:

Properties myProps= new Properties();
myProps.load(resourceAsStream);

如果您正在寻找使用 Spring-boot 加载它们的特定方法,我建议您查看:

  • Binding properties to an object 通过使用 @Configuration@ConfigurationProperties@PropertySource 注释,如果您想始终强制执行和隐式管理 type-safety
  • Environment 接口你可以 @AutoWire 你的 classes,如果你不需要一直执行 type-safety(你仍然可以这样做,但你不是被迫的)。 @PropertySource 也可以在这种情况下用于加载默认 default-loaded application.properties 之外的属性,尽管它们只会在应用程序上下文刷新时加载(例如,它们将不可用在应用程序启动时)
  • PropertiesLoaderUtils class,如评论中所建议的,如果你想在运行时有选择地加载配置文件,例如

我通常推荐第一个。结果与使用 @AutoWired Environment 相同,具有隐式 type-safety 和提高可读性的优点。然后你可以获取属性并将它们写在你的 java.util.properties 中,如果你需要它们的话。

然而,有不止一种方法可以做到这一点,无论是否使用 Spring-Boot。像这样加载属性也很好,尽管可以说不是最佳实践,因为您使用的是 Spring-boot.