SpringBoot启动会扫描以下位置的application.properties或者application.ymls文件作为SpringBoot的默认配置文件
file:/config/
file:/
classpath:/config/
classpath:/ (全局配置文件默认放在类路径根目录下)
以上是按照优先级由高到低的顺序。所有的配置文件都会被加载,互补配置。高优先级的配置覆盖低优先级相同的配置,不同配置形成互补。
1、file:/config/ 当前项目config目录下
2、file:/ 当前项目根目录下
3、classpath:/config/ 类路径下config目录下
4.classpath:/ 类路径根目录下
5、也可以通过配置spring.config.location来改变默认配置(运维较常使用)
SpringBoot加载外部配置加载顺序
Spring Boot支持多种外部配置方式 这些方式优先级如下:
1.命令行参数
2.来自java:comp/env8的JNDI属性
3. Java系统属性( System.getProperties())
4. 操作系统环境变量
5. RandomValuePropertySource配置的random.*属性值
(由jar包外向jar包内加载 优先加载带profile的)
6. jar包外部的application (profilel. properties或application.yml(带spring profile)配置文件
7. jar包内部的aplication (profilel.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指定的默认属性