300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 「Spring Boot 系列」06. Spring Boot 配置文件加载顺序

「Spring Boot 系列」06. Spring Boot 配置文件加载顺序

时间:2020-02-21 12:50:10

相关推荐

「Spring Boot 系列」06. Spring Boot 配置文件加载顺序

目录

内部配置文件加载顺序外部配置文件加载顺序

内部配置文件加载顺序

Spring Boot程序启动时,会从以下位置加载配置文件:

项目根目录:当前项目下的/config目录下项目根目录:当前项目的根目录下classpath:classpath的/config目录下classpath:classpath的根目录下

加载顺序为上面的排列顺序,高优先级配置文件的属性会生效

注意:优先级高的配置文件只覆盖优先级低的配置文件中的重复项。低级配置文件的独有项仍然有效。

目录结构如下:

测试:

测试方法:通过配置Tomcat的端口号来检测他们的优先级顺序

测试步骤:

classpath的根目录下,即resources下的application.yml

在该位置的配置文件中设置Tomcat的端口号为8081,启动该项目

classpath的/config目录下,即resources中config目录下的application.yml

在该位置的配置文件中设置Tomcat的端口号为8082,重新启动该项目

当前项目的根目录

在该位置的配置文件中设置Tomcat的端口号为8083,重新启动该项目

当前项目下的/config目录下

在该位置的配置文件中设置Tomcat的端口号为8084,重新启动该项目

测试结果:这四个位置的配置文件的优先级从低到高与测试的顺序一致。

外部配置文件加载顺序

通过指定配置spring.config.location来改变默认配置,一般在项目已经打包后,我们可以通过指令来加载外部文件的配置:

java -jar xxx.jar --spring.config.location=e://Java/application.yml

改变环境变量时,可以通过修改外部配置文件来实现,不需重新打包项目。

当然如果你觉得在命令行指定外部配置文件的位置太麻烦,那么我再告诉你种方法,那就是在你想启动的项目jar包所在的文件夹下新建一个application.yml配置文件,或者在该文件夹下新建一个config的文件夹并在config文件夹下新建一个application.yml配置文件。

这时候该项目就会自动读取该配置文件,如果两个同时存在,他们也是有优先级的,config文件下的yml文件是优先于与jar包同级的yml文件。

更详细的介绍可以查看Spring Boot 中文文档

最后

祝大家学的愉快,学的神速。

有帮助的话,各位小伙伴可以点个赞收藏支持下啦!❤️

也欢迎关煮博主,一个正在努力变强的程序员~

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。