zoukankan      html  css  js  c++  java
  • 实现开发环境、测试环境、生产环境配置自动切换

    在项目部署中,总是手动修改三套配置环境,过于繁琐,通过 spring 容器内建的 profile 功能实现开发环境、测试环境、生产环境配置自动切换,让我倍感轻松。

    第一步:定义 profile

    现在就可以通过定义 profile 来将开发和生产环境的数据源配置分开,这里我们定义两个 profile,一个名称是 development,另一个名称是 production

    <!-- 开发环境配置文件 -->
    <beansprofile="development">
        <context:property-placeholderlocation="classpath:settings-development.properties"/>
    </beans>
     
    <!-- 生产环境配置文件 -->
    <beansprofile="productionA">
        <context:property-placeholderlocation="classpath:settings-production.properties"/>
    </beans>

    第二步: 定义默认 profile 

    默认 profile 是指在没有任何 profile 被激活的情况下,默认 profile 内定义的内容将被使用,通常可以在 web.xml 中定义全局 servlet 上下文参数 spring.profiles.default 实现

    <!-- 配置spring的默认profile -->
    <context-param>
        <param-name>spring.profiles.default</param-name>
        <param-value>development</param-value>
    </context-param>

     

    第三步: 激活 profile 

    spring 为我们提供了大量的激活 profile 的方法,可以通过代码来激活,也可以通过系统环境变量、JVM参数、servlet上下文参数来定义 spring.profiles.active 参数激活 profile,这里我们通过定义 JVM 参数实现。

    在生产环境中,以 tomcat 为例,我们在 tomcat 的启动脚本start.sh中加入以下 JVM 参数

    -Dspring.profiles.active="productionA"


    而开发环境中不需要定义该参数,如果不定义,则会使用我们指定的默认 profile ,在这里也就是名称为 development 的 profile。这样当项目部署到不同的环境时,便可以通过 JVM 参数来实现不同环境 profile 自动激活

  • 相关阅读:
    云服务器Ubuntu更改默认python版本
    例题4-1-3-古老的密码、刽子手的游戏,救济金发放
    Github pages和Hexo搭建自己的博客
    Python字典基本操作介绍
    python win32api win32gui win32con PyUserInput实现自动化脚本
    spring--分类索引
    目录-java并发基础知识
    【转】集群单点故障的应对策略
    CnBlogs自定义博客样式
    读书笔记——《redis入门指南(第2版)》第七章 持久化
  • 原文地址:https://www.cnblogs.com/hero123/p/10818617.html
Copyright © 2011-2022 走看看