【SpringBoot】配置文件优先级

关于SpringBoot配置文件优先级:

在yaml文件中,一般使用profilies-active来指定配置环境

spring:
  profiles:
    active: dev 

但是其实配置文件之间也有优先级,其中命令行的优先级是最高

就是在流水线切换分支时,并不需要特意切换配置环境为test

因为在打镜像时,命令行已经有配置spring.profiles.active=${active},其中 CMD 时指定docker容器启动时要执行的命令

ADD ./b/target/b-0.0.1-SNAPSHOT.jar /java/b-service-0.0.1-SNAPSHOT.jar
CMD java ${JAVA_OPTS} -jar /java/b-service-0.0.1-SNAPSHOT.jar --spring.profiles.active=${active}
image-20230721155715263 image-20230721155513275

在部署的时候就指定了config文件

  • java -jar 命令行中,通过 --spring.config.location 参数指定的方式优先级最高
  • 项目 jar 包同级下直接放 properties 文件次之,直接把配置文件放到 jar 包的同级目录
  • 项目内部的 classpath 同级 config 文件夹,在 classpath 下建一个 config 文件夹,然后把配置文件放进去
  • 项目内部的 classpath 同级放 properties yum 文件是最低优先级,是在 classpath 下直接放配置文件

你可能感兴趣的:(spring,boot,后端,java)