spring boot:从初学者链应用程序属性?

don*_*hoo 6 spring spring-boot

我正在开发一个 Spring Boot 应用程序和启动器。我希望启动器包含通用属性和代码。

在我的 starter 中,我有一个 application-dev.properties 文件。我在 starter 中定义了一个 @Profile("dev")。

当我使用 dev 配置文件启动我的应用程序时,我会看到 starter 中的属性,这很棒。不好的是,当我将 application-dev.properties 文件添加到我的应用程序时,根本不再读取 starter 中的文件。这意味着我无法弄清楚如何在其中放置常见的“开发”配置文件属性。

根据外部配置文档,我认为这会起作用,因为将读取启动文件,然后读取应用程序文件。

Spring Boot 使用了一个非常特殊的 PropertySource 顺序,该顺序旨在允许合理地覆盖值。属性按以下顺序考虑:

剪报

打包 jar 之外的特定于配置文件的应用程序属性(application-{profile}.properties 和 YAML 变体)

打包在 jar 中的特定于配置文件的应用程序属性(application-{profile}.properties 和 YAML 变体)

有什么建议?

ana*_*1st 7

将 application-dev.properties 放入 src/main/resources/config 文件夹中作为初学者,并将应用程序的 application-dev.properties 放入 src/main/resources 应该有助于解决此问题。