• IDEA结合Maven的profile构建不同开发环境(SpringBoot)


    一、概述

      在开发过程中,我们的项目会存在不同的开发环境,比如开发环境、生产环境、测试环境,而我们的项目在不同的环境中有些配置也是不一样的,比如数据源配置、日志文件配置等,假如我们每次将软件部署到不同的环境时,都需要对相应的配置文件进行修改,来来回回修改,很容易出现少改的地方,而且浪费我们的劳动力。项目用的maven的profile来区别不同的环境配置,我也正好来学习一下。

      本文如有不当,欢迎指正,希望大家留言讨论问题。

    二、数据准备

      数据准备:准备3个数据库、数据库名为test_db、表名都为student,只是数据不同。

    (1)192.168.229.134

      

     (2)192.168.229.133

      

    (3)192.168.229.132

       

    三、应用演示

      在本次演示中,使用IDEA结合maven的profile来实现对数据库的切换以及应用端口的切换。工程结构如图:

     

    (1)父pom文件的profile配置

     <!--配置不同的profile,对应不同的生产环境-->
        <profiles>
            <profile>
                <!--开发-->
                <id>dev</id>
                <activation>
                    <!--默认开发环境-->
                    <activeByDefault>true</activeByDefault>
                </activation>
                <properties>
                    <activatedProperties>dev</activatedProperties>
                </properties>
            </profile>
            <profile>
                <!--生产-->
                <id>pro</id>
                <properties>
                    <activatedProperties>pro</activatedProperties>
                </properties>
            </profile>
            <profile>
                <!--生产-->
                <id>test</id>
                <properties>
                    <activatedProperties>test</activatedProperties>
                </properties>
            </profile>
        </profiles>

    (2)application.properties的配置

    spring.profiles.active=@activatedProperties@  //这里名称与profile中的标签名一致

    (3)application-xxx.properties的配置(3个基本一致,数据库地址和应用上下文根不同)

     (4)测试

      ①默认情况:父pom中已指定默认情况为开发环境,连接192.168.229.132数据,学生名应该为王五,上下文根为/dev-app,启动springboot测试如下:

      

       打开浏览器访问:localhost/dev-app/all?base=1

      

     ②指定测试环境,编辑启动配置添加:-Dspring.profiles.active=test

       

       启动程序,查看控制台日志如下

       

       打开浏览器访问:http://localhost/test-app/all?base=1,连接192.168.229.134数据,学生名应该为张三

      

       ③指定生产环境:-Dspring.profiles.active=test,控制日志如下:

      

       浏览器访问:http://localhost/pro-app/all?base=1

      

    四、总结

       在使用期间,遇到了很多问题,比如如下异常,折腾好几个小时,百度了很久也不知道哪里问题,都怪自己学识太浅,Spring boot启动原理也不太了解,走了很多弯路,在此要特别感谢这个博客帮了我大忙,本来抱着试试看的态度,结果解决了!附上博客链接:https://blog.csdn.net/Colton_Null/article/details/82145467

    (1)异常信息如下:

      

     (2)异常原因

      

     (3)异常解决方案

      

      

  • 相关阅读:
    在Visual Studio中使用层关系图描述系统架构、技术栈
    在Visual Studio中使用活动图描述业务流程
    在Visual Studio中使用类图描述领域模型
    在Visual Studio中使用用例图描述参与者与用例的关系
    在Visual Studio中使用用例图描述系统与参与者间的关系
    并行编程中的取消任务、共享状态,等等
    等待所有或任意异步任务完成,以及异步任务完成时的处理方案
    使用IProgress实现异步编程的进程通知
    Task.FromResult应用场景举例
    Task.Delay方法的2个应用实例,单元测试等待,限时限次下载远程资源
  • 原文地址:https://www.cnblogs.com/rmxd/p/11510894.html
Copyright © 2020-2023  润新知