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

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

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

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

如图:

Spring Boot(五)之多环境配置与打包_第1张图片

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

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

Spring Boot(五)之多环境配置与打包_第2张图片

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>devid>
        <properties>
            <package.environment>devpackage.environment>
        properties>
        
        <activation>
            <activeByDefault>trueactiveByDefault>
        activation>
    profile>

    <profile>
        <id>testid>
        <properties>
            <package.environment>testpackage.environment>
        properties>
    profile>

    <profile>
        
        <id>prodid>
        <properties>
            <package.environment>prodpackage.environment>
        properties>
    profile>
profiles>

2.2 添加resource


    ...
    
        
            src/main/resources
            true
            
                application.yml
                application-${package.environment}.yml
                **/*.xml
            
        
    
    ...

3. 指定环境打包

mvn clean package -P dev

Spring Boot(五)之多环境配置与打包_第3张图片

mvn clean package -P test

Spring Boot(五)之多环境配置与打包_第4张图片

mvn clean package -P prod

Spring Boot(五)之多环境配置与打包_第5张图片

你可能感兴趣的:(JavaEE)