zoukankan      html  css  js  c++  java
  • 一分钟学会Spring Boot多环境配置切换

    一. 问题由来

            开发环境、测试环境、生产环境--------我们的软件在不同的环境中,系统参数和配置可能会不一样,比如数据源配置、日志文件配置、以及一些软件运行过程中的基本配置,那每次我们将软件部署到不同的环境时,都需要修改相应的配置文件?Maven提供了一种方便的解决这种问题的方案,就是profile功能。

    二. Maven实现多环境配置切换的步骤

    2.1 定义多环境配置文件

    按照不同环境,我们读取不同的配置文件,假设有以下定义:

    profile文件名配置文件内容
    dev application-dev.yml server.port 8090
    test application-test.yml server.port 8091
    prod application-prod.yml server.port 8092

    完成后目录结构如下图所示

    2.2 定义运行参数

    根据Spring Boot规范,我们修改application.yml文件添加以下内容

     而这里我们主要自定义了一个变量${profileActive}

    2.3 修改Maven pom配置

    修改父工程pom.xml文件,添加以下配置


        
    <!--profile配置-->
    <profiles>
    <profile>
    <id>dev</id>
    <activation>
    <!--默认开启dev配置-->
    <activeByDefault>true</activeByDefault>
    </activation>
    <properties>
    <profileActive>dev</profileActive>
    </properties>
    </profile>

    <profile>
    <id>test</id>
    <properties>
    <profileActive>test</profileActive>
    </properties>
    </profile>

    <profile>
    <id>prd</id>
    <properties>
    <profileActive>prd</profileActive>
    </properties>
    </profile>
    </profiles>

    <!--编译配置-->
    <build>
    <plugins>
    <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
    <source>${java.version}</source>
    <target>${java.version}</target>
    <encoding>${project.build.sourceEncoding}</encoding>
    </configuration>
    </plugin>
    </plugins>

    <!--Resource文件编译配置-->
    <resources>
    <resource>
    <directory>src/main/resources</directory>
    <excludes>
    <exclude>application*.yml</exclude>
    </excludes>
    </resource>
    <resource>
    <directory>src/main/resources</directory>
    <includes>
    <include>application-${profileActive}.yml</include>
    <include>application.yml</include>
    <include>logback.xml</include>
    </includes>
    <filtering>true</filtering>
    </resource>
    </resources>
    </build>

    pom多环境配置中我们的核心是利用编译过程中,读取不同的配置文件,然后再由spring去读取参数配置。而这里我们利用到变量${profileActive}

    2.4 启动项目以验证

    按照以上操作步骤完成后:

    1.在开发过程中,我们可以在Maven视图选择你当前的profile。

    然后运行,例如当前dev环境配置的系统运行端口是8090。那么启动控制台打印如下信息则表配置成功。

     2.在实际生产环境发布的时候,我们运行以下命令即可切换到dev配置

    mvn clean package -dev
  • 相关阅读:
    PHP 5.5.0 Alpha5 发布
    Ubuntu Touch 只是另一个 Android 皮肤?
    MariaDB 10 已经为动态列提供文档说明
    Percona Toolkit 2.1.9 发布,MySQL 管理工具
    Oracle Linux 6.4 发布
    Ruby 2.0.0 首个稳定版本(p0)发布
    Apache Pig 0.11.0 发布,大规模数据分析
    Node.js 0.8.21 稳定版发布
    红薯 MySQL 5.5 和 5.6 默认参数值的差异
    Django 1.5 正式版发布,支持 Python 3
  • 原文地址:https://www.cnblogs.com/meitanzai/p/10947809.html
Copyright © 2011-2022 走看看