ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
**1. 外部配置优先级** SpringBoot 可以读取到项目外部的多种配置,它们的优先级可以参考官方文档[4.2. Externalized Configuration](https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#boot-features-external-config) 。 ```java 这里总结如下,优先级从高到低为: 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指定的默认属性 ``` <br/> **2. 配置文件加载位置顺序** SpringBoot 启动时会扫描以下位置的`application.properties`或`application.yml`文件作为 SpringBoot 的默认配置文件。文档地址[4.2.3. External Application Properties](https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#boot-features-external-config-files) 。 ```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 ```