gpt4 book ai didi

spring - 使用 Spring-Boot 应用程序的 application-{profile}.properties 的父属性

转载 作者:行者123 更新时间:2023-12-02 01:26:46 24 4
gpt4 key购买 nike

有一些共同的属性在不同的配置文件之间共享,例如临时文件的路径位置和路径在不同的 env(tst,prd) 中保持相同。

有没有办法拥有一个父应用程序-{parent}.properties,所有配置文件特定的属性文件都可以从中继承属性。

这将有助于避免在所有 application-{profile}.properties 中编写相同的属性

此外,每个 application-{profile}.properties有类似的东西:

profileLocation=xxx
abc=${profileLocation}/tempPath

在这里我可以将 abc 移动到一个公共(public)位置吗?我不能在 application.properties因为它在 application-{profile}.properties 之前被加载

最佳答案

实际上, 的说法并不完全正确。应用程序属性 在任何其他人之前加载。它们一起处理。要设置所有配置文件使用的通用属性,您应该使用普通的 应用程序属性 文件。您应该知道的两件主要事情如下所述。

案例1. 放置在 中的键应用程序属性 文件可以被配置文件特定的配置覆盖。

common.path.for.all.envs=/some/path
default.path=/another/path

比在你的例如 应用程序-dev.properties 您可以覆盖一些值。
default.path=/dev/path

在运行时使用 开发者简介 您的应用程序将可以访问两个 key 。 common.path.for.all.envs 的值将设置为 /some/path仅在主文件和 default.path 中声明将设置为 /dev/path因为您覆盖了配置文件配置中的属性。

案例2。 中定义的值应用程序属性 文件可以为配置文件配置中包含的值使用占位符。例如,在您的 应用程序属性 定义以下变量:
abc=${profileLocation}/tempPath

接下来,在 应用程序-dev.properties 声明缺失的变量:
profileLocation=xxx

然后使用 运行开发者简介 abc 的值将设置为 xxx/tempPath .如您所见,配置文件中声明的变量可以在主 中使用。应用程序属性 文件也是如此。

关于spring - 使用 Spring-Boot 应用程序的 application-{profile}.properties 的父属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36710128/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com