🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
**1. 外部配置优先级** SpringBoot 可以读取到项目外的多种配置,它们的优先级从高到低总结如下: ``` 1.命令行的配置 java -jar target\autoconfig-0.0.1-SNAPSHOT.jar --server.port=8090 --server.servlet.context-path=/command 2.来自java:comp/env的JNDI属性 3. Java系统属性( System.getProperties0 ) 4. 操作系统环境变量 5. RandomValuePropertySource配的random.*属性值 6. jar包外部的application-{profile}.properties或application.yml(带spring.profile属性)配置文件 ▲ 7. jar包内部的application-{profile}.properties或application.yml(带spring.profile属性)配置文件 ▲ 8. jar包外部的application.properties或application.yml(不带spring.profile)配置文件 ▲ 9. jar包内部的application.properties或application.yml(不带spring.profile)配置文件 ▲ 10. @Configuration注解类上的@PropertySource 11.通过SpringApplication.setDefaultProperties指定的默认属性 ``` **** 官方文档:https://docs.spring.io/spring-boot/docs/current/reference/html/features.html#features.external-config <br/> **2. 配置文件加载位置顺序** SpringBoot 启动时会扫描以下位置的`application.properties`或`application.yml`文件作为它的默认配置文件。 ```java 按照优先级从高到低的顺序,所有位置的文件都会被加载,高优先级配置内容会覆盖低优先级配置内容 ProjectName/config/application.properties ProjectName/application.properties resources/config/application.properties resources/application.properties java -jar xxx.jar --spring.config.location=E:/application.properties ``` **** 官方文档:https://docs.spring.io/spring-boot/docs/current/reference/html/features.html#features.external-config.files