yaml yml properties文件加载顺序
时间: 2023-09-18 12:07:52 浏览: 48
1. 系统级配置文件:例如/etc/application.yml
2. 应用级配置文件:例如application.yml或application.properties
3. 外部配置文件:例如在启动时通过--spring.config.name或--spring.config.location指定的配置文件
4. 命令行参数:例如通过--server.port=8080指定的参数
5. 环境变量:例如通过环境变量SPRING_APPLICATION_JSON指定的JSON格式的配置
6. Java系统属性:例如通过-Dserver.port=8080指定的属性
7. 默认配置:例如Spring Boot内置的默认配置文件或者默认属性值
相关问题
yml和properties加载顺序
在 Spring Boot 中,yml 文件会优先于 properties 文件被加载。这是因为 Spring Boot 会优先使用 YAML 格式的配置文件,而 properties 文件只会在没有找到 YAML 格式的配置文件时使用。
.yml .yaml执行顺序
在Spring Boot应用程序中,.yml和.yaml配置文件都可以使用,它们的执行顺序是相同的。执行顺序如下:
1. 默认的application.properties文件中的属性将首先被加载。
2. 如果存在application.yml或application.yaml文件,则其中的属性将覆盖application.properties文件中的属性。
3. 除了application.properties和application.yml(yaml)之外,还可以使用其他文件名来存储属性,例如application-dev.properties或application-dev.yml(yaml),其中“dev”是指环境名称。这些文件中的属性将覆盖默认的application.properties和application.yml(yaml)文件中的属性。
4. 如果在同一目录下存在多个使用相同环境名称的文件(例如application-dev.properties和application-dev.yml(yaml)),则application-dev.yml(yaml)文件中的属性将覆盖application-dev.properties文件中的属性。
5. 如果在外部目录中存在application-{profile}.properties或application-{profile}.yml(yaml)文件,则它将覆盖内部application-{profile}.properties或application-{profile}.yml(yaml)文件中的属性,其中“{profile}”是指激活的环境名称。
总之,Spring Boot首先加载默认的application.properties文件,然后按照上述规则依次加载其他配置文件,并将同一环境下的属性进行覆盖。