springboot通过properties实现多个数据库环境自动切换配置

环境介绍

正常来讲,一个软件的开发上线的流程大部分都是分为三个环境,依次是开发、测试、上线。
今天主要讲讲关于springboot如何通过多个properties实现数据库环境部署时自动切换配置的两种方式,部署时切换方式和打包时Maven控制方式。首先介绍部署时切换的方式。

部署时切换

1.1 新增properties文件
springboot通过properties实现多个数据库环境自动切换配置
如上图:在application.properties文件的同级目录依次创建application-dev.properties,application-qa.properties,application-pro.properties这三个配置文件,dev、qa和prod分别对应上文"环境介绍"中的三个环境。

1.2 配置properties文件
在application.properties中添加配置切换选项,例如切换到dev环境的配置为:spring.profiles.active=dev

1.3 打包发布时部署测试环境

java -jar zuche-0.0.1-SNAPSHOT.jar --spring.profiles.active=qa --server.port=2008

maven控制打包时切换

1.1 添加profiles到pom.xml中,profiles节点是和build同级的

<profiles>
        <profile>
            <id>dev</id>
            <properties>
                <env>dev</env>
            </properties>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <profile>
            <id>qa</id>
            <properties>
                <env>qa</env>
            </properties>
        </profile>
        <profile>
            <id>prod</id>
            <properties>
                <env>prod</env>
            </properties>
        </profile>
    </profiles>

1.2 添加filters节点

 <filters>
     <filter>src/main/resources/application-${env}.properties</filter>
 </filters>

下图是pom.xml完整配置:

springboot通过properties实现多个数据库环境自动切换配置
1.3 更新application.properties

spring.profiles.active=@env@

注意@env@中的env可以理解为一个变量,需要与pom中设置的${env}对应上。

1.4 执行Maven打包命令

clean package -P qa -D maven.test.skip=true
上一篇:软件工程第三次作业——软件质量保证鄙见


下一篇:SIPCAPTURE在centOS 7上的安装和配置