spring boot是否支持同时使用属性和yml文件?

问题描述 投票:16回答:3

我有一个spring启动应用程序,我想同时使用yml文件作为我的应用程序属性,也希望使用普通应用程序 - $ {profile} .properties文件集来配置我的应用程序。

所以我的问题是可以这样做,如果是这样,你如何配置spring boot来查找yml文件和属性,并将它们合并到每个环境中的一个集合中?

至于为什么我想要/需要同时使用两者,这是因为我喜欢yml文件的灵活性和易用性,但内部组件(用于加密)需要使用属性文件集。

我确实看到这一点被制作成YAML files can’t be loaded via the @PropertySource annotation

但没有说明两者是否可以一起使用。

请提供有关如何使其正常工作的详细配置(XML或Java配置)。

TIA,

斯科特

java yaml configuration-files spring-boot properties-file
3个回答
21
投票

我可以回答我自己的问题,因为它只是像你期望的那样工作。 application.yml文件和相应的应用程序 - $ {profile} .properties都被加载并合并到环境中。

Spring boot让这个工作自然而然。它通常会。真棒!

斯科特


4
投票

是的,您可以在不进行任何配置的情况下运行它们

在Spring Boot中,它按以下顺序选择.properties或.yaml文件:

application- {profile}。{properties} application} {properties}


2
投票

是您可以在同一项目中同时使用两者。

  • 例如,当您同时使用YML和属性时 application.yml和application.properties同时在同一个 项目,第一个application.yml将在稍后加载 将加载application.properties。
  • 需要注意的重点是,如果application.yml和application.properties在application.yml中具有相同的键,则spring.app.name = testYML和application.properties在同一项目中同时具有spring.app.name = testProperties ,然后application.yml值将被application.properties值覆盖,因为它最后加载。
  • 和spring.app.name = testProperties中的值。
© www.soinside.com 2019 - 2024. All rights reserved.