1.项目内部配置文件
上图1 2 为项目根目录下,3 4 为项目classpath下。
Spring Boot 会全部扫描上图中的这四个位置,扫描规则是高优先级配置内容会覆盖低优先级配置内容。而如果高优先级的配置文件中存在与低优先级配置文件不冲突的属性,则会形成一种互补配置,也就是说会整合所有不冲突的属性
2.项目外部配置文件
springboot外部配置加载顺序如下,优先级从高到底,并且高优先级的配置覆盖底优先级的配置形成互补配置 (1) 命令行参数配置文件 优先级最高 => 比如:java -jar xxxx.jar --server.port=8087 --server.context-path=/show 多个配置中间用空格分开 (2) 由jar包外向jar包内进行加载,比如和工程平级目录下面的配置文件优先级高于jar包内部的配置文件config/application.yml > application.yml
3.active指定的配置文件
spring: profiles: active: dev1,,dev2application.yml中指定的配置文件优先级高于其余的配置文件,比如application.yml.
指定配置文件的优先级application-dev2.yml优先级最高,application-dev1.yml次之。越后面的优先级越高。
application-dev2.yml配置文件放在的位置优先级如1 2 规则一样
♬) jar外面> 项目根目录下>classpath下
♬) config/application-dev2.yml > 同目录下application-dev2.yml



