在Spring Boot应用中,application.yaml 文件是最基础的配置文件,它包含了应用程序运行时的基本配置信息。Spring Boot支持多种环境配置,通过不同的配置文件来适应开发、测试、生产等不同的环境需求。
application.yaml 文件通常用于默认配置,即当没有特定环境配置文件存在时,会使用这个文件中的配置。
而 application-dev.yaml 和 application-local.yaml 这样的文件则是针对特定环境的配置文件。这里的 -dev 和 -local 分别代表了开发环境和本地环境。Spring Boot会自动加载这些带有环境后缀的配置文件,如果它们存在于类路径中。
Spring Boot会根据当前激活的环境(由 spring.profiles.active 属性定义)来选择加载相应的配置文件。例如,如果你的 application.properties 或者 application.yaml 中有如下设置:
spring:
profiles:
active: dev
那么 Spring Boot 将会加载 application-dev.yaml 文件,覆盖 application.yaml 中的同名属性。
如果同时存在多个配置文件,比如 application.yaml, application-dev.yaml, application-local.yaml,并且你设置了 spring.profiles.active=dev,那么 application-dev.yaml 将会优先于 application.yaml 被加载,而 application-local.yaml 只有在 spring.profiles.active=local 的情况下才会被加载。
总结一下
这些配置文件的区别主要在于它们的使用场景和优先级:
- application.yaml是主配置文件,定义了所有环境通用的配置。
- application-dev.yaml是针对开发环境的特定配置,覆盖了通用配置中的部分内容。
- application-local.yaml是用于开发者本地环境的特定配置文件,通常不被包含在版本控制中。