springboot配置优先级
时间: 2024-03-06 18:45:02 浏览: 27
Spring Boot 的配置优先级可以按照以下顺序进行解析和加载:
1. 命令行参数:可以通过在运行时使用命令行参数来覆盖配置文件中的属性值。例如,使用 `--server.port=8080` 来指定端口号为 8080。
2. Java 系统属性:可以通过在运行时使用 `-D` 参数来设置 Java 系统属性,这些属性可以在应用程序中作为配置属性使用。例如,使用 `-Dserver.port=8080` 来指定端口号为 8080。
3. 环境变量:可以通过设置操作系统的环境变量来配置应用程序的属性。Spring Boot 默认会将环境变量中的属性转换为小写,并使用下划线作为分隔符。例如,设置 `SERVER_PORT=8080` 来指定端口号为 8080。
4. 配置文件:Spring Boot 支持多种类型的配置文件,包括 properties 文件和 YAML 文件。默认情况下,Spring Boot 会加载 `application.properties` 或 `application.yml` 文件中的属性。可以通过在配置文件中使用 `spring.config.name` 和 `spring.config.location` 属性来指定其他的配置文件名称和位置。
5. 配置类:可以通过编写一个带有 `@Configuration` 注解的类来定义配置属性。可以使用 `@Value` 注解来注入属性值,也可以使用 `@ConfigurationProperties` 注解来绑定一组相关的属性。
6. 默认属性:Spring Boot 提供了一些默认的属性,可以在应用程序中直接使用。例如,`server.port` 默认为 8080。