一. 外部配置文件的加载顺序
SpringBoot支持多种外部配置方式
- 命令行参数:
java -jar 打包的项目名 --server.port=8087 --server.servlet.context-path=/boot
多个配置采用空格分开: --配置项=值
由jar包外向jar包内进行寻找
优先加载带profile
- jar包外部的application-{profile}.properties或application.yml(带profile)配置文件
- jar包内部的application-{profile}.properties或application.yml(带profile)配置文件
再加载不带profile
- jar外部的application.properties或application.yml配置文件
- jar内部的application.properties或application.yml配置文件
- @Configuration注解类上的@PropertySource(加载自主创建的配置文件)
如下:
二. 总结
优先级高的先加载,优先级高的覆盖优先级低的,其余形成互补配置。优先加载带profile的,再加载不带profile,由jar包外部向内部寻找。