gpt4 book ai didi

spring-boot - 通过环境变量覆盖 Spring Boot yaml 属性

转载 作者:行者123 更新时间:2023-12-05 01:55:21 28 4
gpt4 key购买 nike

使用 Spring Boot 2.6.1,如果我有一个如下所示的 application.properties 文件:

spring.datasource.url="jdbc://blahblah"

我可以在运行时使用名为 spring.datasource.url 的环境变量覆盖该值,我的应用程序将连接到环境变量中指定的数据库。

但是,如果我有一个等效的 application.yaml 文件,以这种方式指定环境变量似乎没有任何效果。

spring:
datasource:
url: "jdbc://localhost..."

但是,如果我将我的环境变量重命名为 SPRING_DATASOURCE_URL,覆盖将再次起作用。这似乎在其他属性中也是一致的(不仅仅是数据源 url)。

浏览the docs不清楚为什么会这样,除了 yaml 配置似乎与“普通”属性文件的处理方式略有不同。

这种行为是预期的吗?

最佳答案

作为described in the documentation ,您应该使用环境变量 SPRING_DATASOURCE_URL 来设置 spring.datasource.url 属性。我很惊讶 spring.datasource.url 在配置为环境变量时完全有效,我不会依赖它继续这样做。

关于spring-boot - 通过环境变量覆盖 Spring Boot yaml 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70267751/

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