多环境是最常见的配置隔离方式之一,可以根据不同的运行环境提供不同的配置信息来应对不同的业务场景,在SpringBoot内支持了多种配置隔离的方式,可以激活单个或者多个配置文件。
激活Profiles的方式
激活的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 &
系统变量方式
Mac/Linux系统配置环境变量
编辑环境变量配置文件/etc/profile,添加名为SPRING_PROFILES_ACTIVE的环境变量,如下所示:
# spring 环境激活 export SPRING_PROFILES_ACTIVE=dev
Windows系统配置环境变量
环境变量的配置方式请参考Java环境变量配置,新建一个名为SPRING_PROFILES_ACTIVE的系统环境变量,设置变量的值为dev即可。
系统变量的方式适用于系统下所部署统一环境的SpringBoot应用程序,如统一部署的都是prod环境的应用程序。
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前定义。
配置文件方式
配置文件方式是最常用的方式,不过灵活性不强,局限性比较大,不建议使用这种方式来激活配置文件。
我们只需要在application.yml配置文件添加配置即可,使用方式如下所示:
spring: profiles: # 激活profiles active: dev
优先级
命令行方式 > Java系统属性方式 > 系统变量方式 > 配置文件方式
经过测试命令行方式的优先级最高,而内部配置文件方式则是最低的。
激活多个profile
如果需要激活多个profile可以使用逗号隔开,如:--spring.profiles.active=dev,test
敲黑板划重点
每一个应用项目都会用到大量的配置文件或者外部配置中心,而配置信息的激活是必不可少的一步,尤为重要。
建议大家使用系统环境变量的方式来激活指定profile的配置,这种方式比较简单,系统全局都可以使用(注意:系统全局代表着该系统下所运行的全部SpringBoot应用都会采用该配置),当然也可以采用优先级替换的规则进行单独指定。
总结
以上所述是小编给大家介绍的SpringBoot激活profiles的几种方式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对自由互联网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!