SpringBoot 项目打包为jar以后,在jar里面的resources有xxx.properties,此
时在存放jar的同级目录创建config,并在config放xxx.properties,则加载顺序是怎么样的呢?
目录层级如下:
desktop-api
--config
application.properties
application-prod.properties
--desktop-api.jar
--BOOT-INF
--classes
application.properties
application-prod.properties
加载顺序依次是:
1、jar的classes里面的application.properties
2、当前路径下config里面的application.properties
3、jar的classes里面的application-prod.properties
4、当前路径下config里面的application-prod.properties
注意:后加载的配置会覆盖前面加载的配置。
通用规则:
SpringApplication会从以下路径加载所有的application.properties文件:
1、file:./config/(当前目录下的config文件夹)
2、file:./(当前目录)
3、classpath:/config/(classpath下的config目录)
4、classpath:/(classpath根目录)
优先级由上至下。
注意:优先级是指属性最后使用的值,而不是说仅仅扫描优先级高的路径,不是发现了application.properties文件就停止。