IT教程 ·

SpringProfile轻松切换多环境配置文件

校招必看硬核干货:C++怎么学才能进大厂

在项目开发的过程当中,我们不免会碰到开发、测试、生产等环境的切换,而各个环境的设置肯定是差别的。传统的方法是在项目打包的时刻修正设置文件。但工资做的事变不免发生不测。Spring 为我们供应了一种多环境设置文件同时存在,而运转/打包时仅运转所选的设置文件的体式格局。详细的引见以下:

Spring供应了两种属性:

spring.profiles.active

spring:
  profiles:
#    active: yaya
    active: keats

指定激活哪一个文件,值是 application-{profileName}.yml 中的 profileName。用于辨别差别的运转环境

PS:假如 application.yml 和被激活的 yml 中同时设置了一个雷同的键,被激活的yml中的值会掩盖 application.yml 中的值。

spring.profiles.include

spring:
  profiles:
    include: yayaDB,yayaRedis

指定包括(兼并)多个yml的内容一同启动。如许有助于同环境下yml文件的分类管理

PS:像上面 include 值是多个的状况,除了运用 , 分开的输入体式格局外,还能够运用 换行 - profileName 的体式格局,这是 yml 的一种语法。假如不清楚 yml 的语法,能够参考

spring:
  profiles:
    include:
      - yayaDB # 注重换行和空格
      - yayaRedis

接下来是一个示例的DEMO项目,项目的构造以下:

SpringProfile轻松切换多环境配置文件 IT教程 第1张

各文件内容以下:

application.yml

spring:
  profiles:
    active: yaya
#    active: keats
server:
  port: 9001 # 假如被激活的 yml 中有雷同的设置,会掩盖此值

application-keats.yml

server:
  port: 9000
eureka:
  server:
    enable-self-preservation: false # 封闭自我庇护
    eviction-interval-timer-in-ms: 4000 # 剔除效劳距离,单元/ms
  instance:
    hostname: localhost
  client:
    register-with-eureka: false # 是不是将本身注册到注册中间
    fetch-registry: false # 是不是从Eureka中猎取注册信息
    service-url: # Eureka Client 的要求地点
      defaultZone: http://#{eureka.instance.hostname}:#{server.port}/eureka/

application-yaya.yml

spring:
  profiles:
    include: yayaDB,yayaRedis

application-yayaDB.yml

# 特地设置DB 的yml,现实项目中能够依据需求,设置文件多了须要分类就分类,少了用不着分类就一种环境一个YML# 这里由于Eureka效劳用不到衔接数据库,用端口号设置信息替代
server: 
  port: 9100

application-yayaRedis.yml

# 能够特地用来设置Redis的信息。这里由于用不到Redis。我就用除端口之外的其他设置信息添补了
eureka:
  server:
    enable-self-preservation: false # 封闭自我庇护
    eviction-interval-timer-in-ms: 4000 # 剔除效劳距离,单元/ms
  instance:
    hostname: localhost
  client:
    register-with-eureka: false # 是不是将本身注册到注册中间
    fetch-registry: false # 是不是从Eureka中猎取注册信息
    service-url: # Eureka Client 的要求地点
      defaultZone: http://#{eureka.instance.hostname}:#{server.port}/eureka/

根据以上的 yml 设置以后,就能够经由过程解释与摊开差别的 active,来完成环境的切换了。

趁便教人人别的一个妙技:

Idea将同一个项目屡次启动

挑选对应的项目启动类,点击 Edit Configurations

SpringProfile轻松切换多环境配置文件 IT教程 第2张

作废勾选: Single instance only

win10CPU版TensorFlow安装详细流程(踩N个坑之后的总结)

参与评论