maven整合spring profile实现多环境自动切换

现象

如果在开发时进行一些数据库测试,希望链接到一个测试的数据库,以避免对开发数据库的影响。又或者当我们要打包项目发布到生产环境的时候,我们只想打包生产环境的配置而不想打包开发或者测试环境的配置,各种此类的需求,让我希望有一个简单的切换开发环境的好办法。

多环境自动切换整合步骤

  1. resources目录下添加不同环境的配置文件

  2. applicationContext文件增加profile配置



    
    



    
    



    
    

profile的定义一定要在文档的最下边,否则会有异常。整个xml的结构大概是这样:

  
    
    
    
      
    

  1. 激活 profile

spring 为我们提供了大量的激活 profile 的方法:

(1)通过代码来激活

ConfigurableEnvironment.setActiveProfiles

(2)通过系统环境变量、JVM参数、servlet上下文参数来定义 spring.profiles.active 参数激活 profile。

2.1 tomcat 中 catalina.bat(.sh中不用“set”) 添加JAVA_OPS。通过设置active选择不同配置文件:

set JAVA_OPTS="-Dspring.profiles.active=test"

2.2 IDEA中Run –>Edit configuration–>Arguments–> VM arguments中添加。

maven整合spring profile实现多环境自动切换_第1张图片

2.3 web.xml方式:


  spring.profiles.active
  production

你可能感兴趣的:(maven整合spring profile实现多环境自动切换)