Spring Boot 配置加载顺序
时间: 2023-03-31 12:02:00 浏览: 96
Spring Boot 配置加载顺序是:首先加载 application.properties 或 application.yml 文件,然后根据 spring.profiles.active 属性加载对应的配置文件,最后加载命令行参数中的配置。如果有相同的配置项,后加载的会覆盖先加载的。
相关问题
spring boot 配置加载顺序
Spring Boot 配置加载顺序如下:
1. 命令行参数:可以通过命令行参数来指定配置文件的位置,例如:java -jar myproject.jar --spring.config.location=/path/to/application.properties。
2. SPRING_APPLICATION_JSON:可以通过环境变量 SPRING_APPLICATION_JSON 来指定 JSON 格式的配置信息。
3. ServletConfig 初始化参数:可以通过 ServletConfig 的初始化参数来指定配置文件的位置。
4. ServletContext 初始化参数:可以通过 ServletContext 的初始化参数来指定配置文件的位置。
5. java:comp/env JNDI 属性:可以通过 JNDI 属性来指定配置文件的位置。
6. 系统环境变量:可以通过系统环境变量来指定配置文件的位置。
7. RandomValuePropertySource:可以通过 RandomValuePropertySource 来指定随机值。
8. jar 包外部的 application-{profile}.properties 或 application.yml 配置文件。
9. jar 包内部的 application-{profile}.properties 或 application.yml 配置文件。
10. jar 包外部的 application.properties 或 application.yml 配置文件。
11. jar 包内部的 application.properties 或 application.yml 配置文件。
其中,数字越小的优先级越高。如果同一级别下有多个配置文件,后加载的会覆盖先加载的。
如何理解 Spring Boot 配置加载顺序
Spring Boot 配置加载顺序主要包括以下几个方面:
1. 命令行参数:Spring Boot 支持通过命令行参数来指定应用程序的配置属性,这些属性将覆盖所有其他默认值。
2. Java 系统属性:可以使用 Java 系统属性来设置 Spring Boot 应用程序的配置属性,例如在启动应用程序时通过 -D 参数指定的属性。
3. 操作系统环境变量:可以使用操作系统环境变量来设置 Spring Boot 应用程序的配置属性,例如在 Linux 系统中使用 export 命令设置的环境变量。
4. 配置文件:Spring Boot 支持多种类型的配置文件,包括 application.properties、application.yml、application.xml 等。在加载配置文件时,Spring Boot 会按照特定的顺序加载,例如优先加载 application.yml 文件,然后加载 application.properties 文件。
5. 默认属性:Spring Boot 内置了许多默认属性,它们可以在没有指定其他属性时提供默认值。
总体来说,Spring Boot 配置加载顺序是越靠后的配置越会覆盖靠前的配置。例如,如果在配置文件中指定了一个属性,但是在命令行参数中也指定了同名的属性,那么命令行参数中指定的属性将覆盖配置文件中的属性。
阅读全文