在 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` 中的生产环境配置,最终生效的配置是两者的合并结果,且生产环境配置会覆盖通用配置中相同的属性。
因此,通过合理配置不同环境的配置文件,可以实现在不同环境下使用不同的配置,从而提高应用程序的灵活性和可维护性。