ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

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

2021-07-02 11:00:17  阅读:165  来源: 互联网

标签:springboot 数据库 profiles dev qa application 切换 properties


环境介绍

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

部署时切换

1.1 新增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完整配置:

在这里插入图片描述
1.3 更新application.properties

spring.profiles.active=@env@

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

1.4 执行Maven打包命令

clean package -P qa -D maven.test.skip=true

标签:springboot,数据库,profiles,dev,qa,application,切换,properties
来源: https://blog.csdn.net/qq_16570607/article/details/118407292

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有