美文网首页
SpringBoot多环境配置 指定spring.profile

SpringBoot多环境配置 指定spring.profile

作者: 饱饱想要灵感 | 来源:发表于2024-08-26 14:25 被阅读0次

    多环境配置是最常见的配置隔离方式之一,可以根据不同的运行环境提供不同的配置信息,SpringBoot支持了多种配置隔离的方式,可以激活单个或者多个配置文件。

    前提

    要激活的profiles要在项目内创建对应的配置文件,格式为application-{profile}.yml。

    一、命令行方式

    命令行方式是一种外部配置的方式,在执行java -jar命令时可以通过-–spring.profiles.active=test的方式进行激活指定的profiles列表。

    使用方式如下所示:

    java -jar order-service-v1.0.jar --spring.profiles.active=dev &> order-service.log &
    

    注意:--spring.profiles.active的方式要在-jar之后定义

    二、Java系统属性方式

    Java系统属性方式也是一种外部配置的方式,在执行java -jar命令时可以通过-Dspring.profiles.active=test的方式进行激活指定的profiles列表。

    使用方式如下所示:

    java -Dspring.profiles.active=dev -jar order-service-v1.0.jar &> order-service.log &
    

    注意:-D的方式设置Java系统属性要在-jar之前定义

    三、系统变量方式

    1、Mac/Linux系统配置环境变量

    编辑环境变量配置文件/etc/profile,添加名为SPRING_PROFILES_ACTIVE的环境变量,如下所示:

    spring 环境激活

    export SPRING_PROFILES_ACTIVE=dev
    

    2、Windows系统配置环境变量

    环境变量的配置方式请参考Java环境变量配置,新建一个名为SPRING_PROFILES_ACTIVE的系统环境变量,设置变量的值为dev即可。

    系统变量的方式适用于系统下所部署统一环境的SpringBoot应用程序,如统一部署的都是prod环境的应用程序。

    四、配置文件方式

    配置文件方式是最常用的方式,不过灵活性不强,局限性比较大,不建议使用这种方式来激活配置文件。

    我们只需要在application.yml配置文件添加配置即可,使用方式如下所示:

    spring:
        profiles:
            active: dev
    

    五、总结

    1. 生效优先级

    当同时存在多种方式时,优先级为:

    命令行方式 > Java系统属性方式 > 系统变量方式 > 配置文件方式

    2. 激活多个profile

    如果需要激活多个profile可以使用逗号隔开,如:- -spring.profiles.active=dev,test

    3. 推荐使用

    推荐大家使用系统环境变量的方式来激活指定profile的配置,因为这种方式比较简单,系统全局都可以使用(注意:系统全局代表着该服务器上所运行的全部SpringBoot应用都会采用该配置)。

    相关文章

      网友评论

          本文标题:SpringBoot多环境配置 指定spring.profile

          本文链接:https://www.haomeiwen.com/subject/egqakjtx.html