赞
踩
一般我们大致会分为dev(开发),test(测试),prod(生产)。每套环境的数据库以及一些参数配置项是有差异的,所以针对上诉情况,需要多个环境的配置项,以及针对环境进行打包。
如图:
在application.yml文件中添加如下配置:
# 指定执行环境
spring:
profiles:
active: @package.environment@
application-dev.yml文件配置
spring:
datasource:
name: mysql_dev
type: com.alibaba.druid.pool.DruidDataSource
#druid相关配置
druid:
#监控统计拦截的filters
filters: stat
driver-class-name: com.mysql.jdbc.Driver
#基本属性
url: jdbc:mysql://localhost:3306/dev?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
username: root
password: root
#配置初始化大小/最小/最大
initial-size: 1
min-idle: 1
max-active: 20
#获取连接等待超时时间
max-wait: 60000
#间隔多久进行一次检测,检测需要关闭的空闲连接
time-between-eviction-runs-millis: 60000
#一个连接在池中最小生存的时间
min-evictable-idle-time-millis: 300000
validation-query: SELECT 'x'
test-while-idle: true
test-on-borrow: false
test-on-return: false
#打开PSCache,并指定每个连接上PSCache的大小。oracle设为true,mysql设为false。分库分表较多推荐设置为false
pool-prepared-statements: false
max-pool-prepared-statement-per-connection-size: 20
由于是写的demo,这里就只在本地数据库进行测试,是指定不同的数据库来区分不同的环境。
application-test.yml文件配置
其他配置和dev相同
url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
application-prod.yml文件配置
其他配置和dev相同
url: jdbc:mysql://localhost:3306/prod?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
2.1 添加profile
和处于平行结构
<profiles>
<profile>
<id>dev</id>
<properties>
<package.environment>dev</package.environment>
</properties>
<!-- 是否默认 true表示默认-->
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>test</id>
<properties>
<package.environment>test</package.environment>
</properties>
</profile>
<profile>
<!-- 生产环境 -->
<id>prod</id>
<properties>
<package.environment>prod</package.environment>
</properties>
</profile>
</profiles>
2.2 添加resource
<build>
...
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>application.yml</include>
<include>application-${package.environment}.yml</include>
<include>**/*.xml</include>
</includes>
</resource>
</resources>
...
</build>
mvn clean package -P dev
mvn clean package -P test
mvn clean package -P prod
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。