前言
目前大多数互联网公司内部将开发环境分为 日常、预发布与线上三套环境,不同环境之间的服务配置项需要做到隔离。例如,数据库连接配置,Zookeeper地址、其他系统url 等等。
本文着重介绍的就是如何通过 Maven 来管理不同环境的配置文件,通过profile来实现分环境打包。
正文
以web开发为例,大部分web开发项目整体结构如下图:
目录 | 描述 |
---|---|
resources | 存放公共资源文件 |
resources.pre | 存放预发布环境配置文件 |
resources.prod | 存放线上生产环境配置文件 |
本文以数据库为例进行讲解,spring-dao.xml如下:
<bean id="parentDataSource" class="com.alibaba.druid.pool.DruidDataSource"
destroy-method="close" abstract="true" init-method="init" >
<!-- 初始化连接大小 -->
<property name="initialSize" value="2" />
<!-- 连接池最大使用连接数量 -->
<property name="maxActive" value="10" />
<!-- 连接池最小空闲 -->
<property name="minIdle" value="5" />
<!-- 获取连接最大等待时间 -->
<property name="maxWait" value="30000" />
<!-- <property name="poolPreparedStatements" value="true" /> -->
<!-- <property name="maxPoolPreparedStatementPerConnectionSize" value="33" /> -->
<property name="validationQuery" value="SELECT 1" />
<property name="testOnBorrow" value="false" />
<property name="testOnReturn" value="false" />
<property name=