spring-boot 速成 profile区分环境

Posted 菩提树下的杨过

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring-boot 速成 profile区分环境相关的知识,希望对你有一定的参考价值。

maven中的profile概念,在spring-boot中一样适合,只要约定以下几个规则即可: 

一、不同环境的配置文件以"application-环境名.yml"命名

举个粟子:

如果有二个环境dev、prod,项目工程中有上述二个文件即可。

 

二、主配置文件application.yml中,显式激活某个环境

这样默认就激活了dev环境

 

三、与环境相关的差异配置部分,放在各自的配置文件中

举第二个粟子

 

四、线上部署/运行时动态环境切换

通常开发阶段默认激活的是dev环境,部署到线上时是prod环境,但是打包发布时,可能经常会忘记了改application.yml中的默认激活环境,可以参考下面的几种做法:

4.1 参考上一节的做法,部署时在./config下放置一个application.yml来覆盖默认的激活环境(这个可以在打包一键部署的shell脚本中自动处理)

4.2 启动shell脚本中,动态指定,例如 java -jar spring-boot-web-demo-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod

4.3 也可以参考gradle项目中profile的通用做法(见之前的文章: gradle项目中profile的实现

推荐用4.2的做法,简单!

以上是关于spring-boot 速成 profile区分环境的主要内容,如果未能解决你的问题,请参考以下文章

spring-boot 速成 actuator

spring-boot 速成(11) - 单元测试

spring-boot 速成 devtools之热部署

spring-boot 速成(10) -个人邮箱/企业邮箱发送邮件

spring-boot 速成 druid+mybatis 多数据源及读写分离的处理

spring-boot结合maven配置不同环境的profile