Java服务端开发的时候像数据库连接,缓存连接等配置都要区分开发环境和正式环境,可能还有测试环境等。这里介绍一下方便区分和管理不同环境配置文件的方法。

SpringMVC多环境配置

我的代码工程是maven工程,所有这里就以maven工程为例子。

1.创建多环境配置文件存放目录





springmvc启动设置环境变量_springmvc启动设置环境变量


springmvc启动设置环境变量_maven_02


如上图所示,在main目录下面创建/filters目录,再根据不同的环境创建不同的目录,我平常使用4种环境配置,如果有额外需求可以再增加环境。

dev--开发环境;

prod--生产环境;

qa--qa测试用环境;

test--灰度发布用测试环境;

2.resources目录下创建对应的配置文件



springmvc启动设置环境变量_springmvc启动设置环境变量_03


springmvc启动设置环境变量_maven_04



如上图所示,/resources目录下面需要有不同环境对应的总环境配置文件,不过内容是以参数形式传递的,/filters目录下的配置环境文件则是实际内容,如下图:



springmvc启动设置环境变量_maven_05


springmvc启动设置环境变量_生产环境和开发环境_06


3. pom.xml文件配置

在中配置资源过滤器,如下图所示:



springmvc启动设置环境变量_生产环境和开发环境_07


springmvc启动设置环境变量_配置文件_08


在同级节点配置profile,如下图所示:



springmvc启动设置环境变量_maven_09


springmvc启动设置环境变量_环境配置_10



4.选择不同环境运行和编译

开发运行



springmvc启动设置环境变量_生产环境和开发环境_11


springmvc启动设置环境变量_生产环境和开发环境_12



编辑开发运行配置,选择使用maven工程,环境是dev



springmvc启动设置环境变量_环境配置_13


springmvc启动设置环境变量_配置文件_14



SpringBoot多环境配置

SpringBoot工程的配置文件application.properties或者application.yml

先来介绍application.properties格式的配置



springmvc启动设置环境变量_springmvc启动设置环境变量_15


springmvc启动设置环境变量_配置文件_16


在application.properties同级目录下创建多环境配置文件,文件格式以连字符"-"分隔,后面加上环境代号,不同环境的选择配置在application.properties文件中,如下


springmvc启动设置环境变量_配置文件_17


springmvc启动设置环境变量_maven_18



PS。端口配置和虚拟路径配置也是在application.properties文件中配置。

application.yml格式的多环境配置

yml格式的配置文件可以使配置文件更加简洁。但是使用yml格式的配置文件时不能使用多个不同的配置文件,所有的配置都要写在同一个配置文件中,以"---"分隔,如下图:


springmvc启动设置环境变量_生产环境和开发环境_19


springmvc启动设置环境变量_maven_18



多环境配置的方法就总结到这里,更多精彩文章敬请期待。