Spring Boot(五)之多环境配置与打包

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33689414/article/details/81812783

Spring Boot(五)之多环境配置与打包

一般我们大致会分为dev(开发),test(测试),prod(生产)。每套环境的数据库以及一些参数配置项是有差异的,所以针对上诉情况,需要多个环境的配置项,以及针对环境进行打包。

1. 创建不同环境的application.yml

如图:

image

在application.yml文件中添加如下配置:

# 指定执行环境
spring:
  profiles:
    active: @package.environment@

image

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. pom.xml配置

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>

3. 指定环境打包

mvn clean package -P dev

image

mvn clean package -P test

image

mvn clean package -P prod

image

猜你喜欢

转载自blog.csdn.net/qq_33689414/article/details/81812783