Spring Boot 是否支持同时使用属性和 yml 文件?

我有一个弹簧引导应用程序,我想同时使用yml文件作为我的应用程序属性,以及一个普通的应用程序 - ${profile}.properties文件集来配置我的应用程序。

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

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

我确实看到这一点使得YAML文件无法通过@PropertySource注释加载

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

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

蒂亚,

斯科特


答案 1

我可以回答我自己的问题,因为它就像你期望的那样工作。应用程序.yml 文件和相应的应用程序 -${profile}.属性都会加载并合并到环境中。弹簧靴只是使这项工作自然。


答案 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

推荐