一、前言
当我们正式开始工作生涯后,最先发现商业项目和我们自己写的项目的不同之一就是:怎么这么多配置文件啊!!
就按照最普遍的:开发、测试、预发(仿真)和线上来说,一个项目就至少有四套配置了,那么我们到底要如何配置多环境呢?
二、Multiple Application
目前使用比较多的是配置多个 application-{profile}.yml
或者多个 application-{profile}.properties
文件的写法,一张图就能解释清楚了,如下图所示。
首先配置不同环境的 application 文件,在上图中我配置了以下环境:
- application-test.yml
- application-dev.yml
- application-prod.yml
application.yml 文件用于配置各个环境通用的配置,在这里我指定了程序使用的 profile,即 spring.profile.active= ${env:dev}属性,它的值决定了具体使用的配置。
例如 spring.profile.active=dev 时,使用 application-dev.yml + application.yml 的配置。
运行jar包的时候通过设置spring.profile.active=xxx 来指定运行哪个环境,例如使用 dev 环境:
java -jar xxx.jar --spring.profiles.active=dev
三、Maven Filter
未完待续
参考