使用application.yaml 和指定 application-prod.yaml,两个文件都生效嘛?

在 Spring Boot 中,可以使用 `application.yaml` 和 `application-{profile}.yaml` 文件来进行应用程序的配置。其中,`application.yaml` 是通用配置文件,而 `application-{profile}.yaml` 是针对特定环境配置的文件,其中 `{profile}` 是指定的环境配置文件名,比如 `application-dev.yaml`、`application-test.yaml`、`application-prod.yaml` 等。

当应用程序启动时,Spring Boot 会加载 `application.yaml` 文件中的通用配置,然后根据激活的环境配置文件(如 `application-dev.yaml`、`application-test.yaml`、`application-prod.yaml`)来覆盖或补充通用配置。这样可以实现不同环境下的特定配置,使得应用程序在不同环境中能够灵活适配。

如果同时存在 `application.yaml` 和 `application-prod.yaml` 两个文件,并且激活了 `prod` 环境配置,那么这两个文件都会生效。Spring Boot 会首先加载 `application.yaml` 中的通用配置,然后加载 `application-prod.yaml` 中的生产环境配置,最终生效的配置是两者的合并结果,且生产环境配置会覆盖通用配置中相同的属性。

因此,通过合理配置不同环境的配置文件,可以实现在不同环境下使用不同的配置,从而提高应用程序的灵活性和可维护性。

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Spring Boot 应用中,被"---"分割开的 YAML 文件会按照它们在配置文件中出现的顺序依次被加载。在加载配置文件时,Spring Boot 会将多个 YAML 文档合并为一个大的 YAML 文档,然后解析后加载到应用中。 在加载配置文件时,Spring Boot 会按照以下顺序加载配置文件: 1. 首先,会加载默认的配置文件。默认情况下,Spring Boot 会加载 classpath:/application.yml 或 classpath:/application.properties 文件。 2. 然后,会加载激活的配置文件。Spring Boot 会根据应用所处的环境自动激活对应的配置文件。例如,如果应用运行在开发环境,那么 Spring Boot 会自动加载 application-dev.yml 或 application-dev.properties 文件。 3. 最后,会加载额外的配置文件。可以通过 spring.config.additional-location 属性来指定额外的配置文件路径。这些配置文件也可以包含多个 YAML 文档。 在加载配置文件时,如果有相同的属性,后面加载的配置文件会覆盖先加载的配置文件中的属性。因此,如果需要覆盖默认的配置文件中的属性,可以在激活的配置文件或额外的配置文件中重新定义这些属性。 需要注意的是,如果一个配置文件中包含多个 YAML 文档,那么只有第一个 YAML 文档的配置会被加载。如果需要加载其他 YAML 文档,可以使用 Spring Boot 提供的 YamlPropertiesFactoryBean 来手动解析 YAML 文档。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值