简单记录一下Springboot配置文件加载顺序。
项目内部配置文件加载顺序
1.SpringBoot项目启动会从下面的位置扫描application.properties或者application.yml文件作为SpringBoot的默认配置文件。
- file:./config/ ( 项目根路径下的config文件夹)
- file:./ (项目根路径)
- classpath:/config/(类路径下的config文件夹)
- classpath:/ (类路径)
classpath路径其实就是java根目录和resource目录合并。
file路径就是当前项目的根目录。
优先级由高到底,高优先级的配置会覆盖低优先级的配置,没有的配置进行互补配置。
ps:不是类路径下的配置文件在打包时,如果不做配置是不会打包进jar中(因为这俩不符合maven结构),也会是说前两个配置在项目打包后,包中是不存在的,所以尽量不要用前两个位置。
项目外部配置加载顺序
1.命令行模式
java -jar xxxx.jar --server.port = 8082 --server.servlet.context-path = /hehe
也可以直接指定外部配置文件路径
java -jar myproject.jar --spring.config.name=myproject
指定多个配置文件
java -jar myproject.jar --spring.config.location=classpath:/default.properties,classpath:/override.properties
2.自动读取
让配置文件和jar包在同级目录
当然也可以创建一个config目录,然后把配置文件放在里面。
这两种方式用于少量配置的情况。