当前位置:   article > 正文

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

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

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

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

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

如图:

image

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

# 指定执行环境
spring:
  profiles:
    active: @package.environment@
  • 1
  • 2
  • 3
  • 4

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

由于是写的demo,这里就只在本地数据库进行测试,是指定不同的数据库来区分不同的环境。

application-test.yml文件配置

其他配置和dev相同

url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
  • 1

application-prod.yml文件配置

其他配置和dev相同

url: jdbc:mysql://localhost:3306/prod?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true
  • 1
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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
3. 指定环境打包
mvn clean package -P dev
  • 1

image

mvn clean package -P test
  • 1
  • 2

image

mvn clean package -P prod
  • 1

image

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/286383
推荐阅读
相关标签
  

闽ICP备14008679号