zoukankan      html  css  js  c++  java
  • Spring Boot之Profile--快速搞定多环境使用与切换

    Spring Profile是Spring3引入的概念,主要用在项目多环境运行的情况下,通过激活方式实现多环境切换,省去多环境切换时配置参数和文件的修改,并且Spring profile提供了多种激活方法,例如配置文件,命令行,jvm参数设置等,下面将详细介绍下。

    本文目录

    一、为什么要使用Profile二、Spring Profile激活方式1、配置文件激活2、命令行3、虚拟机参数4、在Java代码中激活

    一、为什么要使用Profile

    在平时在开发时,经常会出现在开发的时候使用一个开发数据库,测试的时候使用一个测试的数据库,而实际部署的时候需要一个数据库。以前的做法是将这些信息写在一个配置文件中,当我把代码部署到测试的环境中,将配置文件改成测试环境;当测试完成,项目需要部署到现网了,又要将配置信息改成现网的,既麻烦又容易出现问题。

    而使用了Profile之后,我们就可以分别定义3个配置文件,一个用于开发、一个用户测试、一个用户生产,其分别对应于3个Profile。当在实际运行的时候,只需给定一个参数来激活对应的Profile即可,那么容器就会只加载激活后的配置文件,这样就可以大大省去我们修改配置信息而带来的烦恼。

    二、Spring Profile激活方式

    针对上面的问题,我们可以采用如下的方案来解决:

    在代码中新增多个配置文件,文件名可以是
    application-{profile}.properties,然后在applcation.properties文件中配置激活profile。

    例如我们的应用环境有:dev、uat、prod

    那么,我们可以添加 4 个配置文件:

    applcation.properties - 公共配置
    application-dev.properties - 开发环境配置
    application-uat.properties - 测试环境配置
    application-prod.properties - 生产环境配置

    下面介绍下激活profile的方式:

    1、配置文件激活

    在applcation.properties文件 中可以通过以下配置来激活 profile:

    # 激活dev环境的配置
    spring.profiles.active = dev

    spring.profiles.active = dev 表示当前环境激活application-dev.properties文件中的配置。

    2、命令行

    在 运行java -jar 时候激活:

    java -jar spring-boot-demo.jar --spring.profiles.active=dev

    3、虚拟机参数

    配置虚拟机参数激活:

    -Dspring.profiles.active=dev


     

    4、在Java代码中激活

    在spring boot启动类添加如下代码即可:

    System.setProperty("spring.profiles.active", "test");

    Spring Boot之Profile多环境使用与切换的东西介绍完成啦,有任何问题欢迎留言沟通哦

    推荐阅读

    1.Spring Boot 2.X 整合Redis
    2.Spring Boot 2.X 如何优雅的解决跨域问题?
    3.Spring Boot 2.X 集成spring session实现session共享
    4.Spring条件注解@Conditional
    5.SpringBoot 2.X从0到1实现邮件发送功能
    6.Redis批量删除key的小技巧,你知道吗?
    7.Spring Boot 2.X 如何快速整合jpa?


    限时领取免费Java相关资料,涵盖了Java、Redis、MongoDB、MySQL、Zookeeper、Spring Cloud、Dubbo/Kafka、Hadoop、Hbase、Flink等高并发分布式、大数据、机器学习等技术。
    关注下方公众号即可免费领取:

    Java碎碎念公众号

     

  • 相关阅读:
    Action直接访问Servlet API
    Struts2与Struts1的对比
    参入github上的开源项目的步骤
    TortoiseSVN中图标的含义
    eclipse 快捷键
    base(function strchr)
    1
    Java 关于路径
    java初阶
    关于C++中计时的方法
  • 原文地址:https://www.cnblogs.com/haha12/p/11363341.html
Copyright © 2011-2022 走看看