侧边栏壁纸
  • 累计撰写 1,975 篇文章
  • 累计创建 73 个标签
  • 累计收到 20 条评论

目 录CONTENT

文章目录

SpringBoot项目加载配置文件application.yml的顺序

猿哥
2022-10-11 / 0 评论 / 0 点赞 / 248 阅读 / 395 字
" "

使用--spring.profiles.active指定配置文件时的加载顺序

springboot项目 可以通过启动时指定虚拟机参数选择加载的配置文件
虚拟机指定加载配置文件参数 --spring.profiles.active=xxx

//运行 springboot项目 jar包 test.jar 加载配置文件 application-prod.properties
java -jar test.jar --spring.profiles.active=prod

//运行 springboot项目 jar包 test.jar 加载配置文件 application-dev.properties
java -jar test.jar --spring.profiles.active=dev

注: 即使通过参数 --spring.profiles.active 指定加载配置文件,springboot还是会先加载默认的配置文件application.properties , 然后再去加载active 指定的配置文件,如果配置内容相同会被后面指定加载的配置文件内容覆盖.

在默认配置文件里面也可以指定加载别的配置文件
例如 在默认配置文件 application.properties 中 设置:

server.port=8080
spring.profiles.active=test
#...
#...
#...

这样配置运行程序后 也是会先加载默认配置文件application.properties 内容,然后去加载指定的配置文件application-test.properties的内容.

如果 在默认配置文件中设置了 spring.profiles.active=test , 并且在运行时 也指定了虚拟机参数 --spring.profiles.active=dev , 结果是先加载默认配置文件内容,再加载application-dev.properties文件内容, 不会加载application-test.properties 文件内容
也就是说 同时存在 默认配置文件 和 虚拟机启动参数 中 设置 spring.profiles.active,虚拟机参数指定加载配置文件有效。

0
博主关闭了所有页面的评论