springboot--多环境配置快速切换开发、测试、生产环境

多环境配置快速切换开发、测试、生产环境

  • 前言
  • 1、使用
    • 1.1指定环境@Profile({"dev","test"})
    • Spring Profiles 提供一个隔离配置的方式,使其仅在特定环境生效 任何@Component,@Configuration或@ConfigurationProperties 可以使用@Profile标记,来指定何时被加载。(容器中的组件都可以被@Prefile标记)
    • 1.2环境激活
      • 1.2.1、配置文件激活
      • 1.2.3、通过启动文件激活
  • 2、Profiles 分组
  • 3、Profile配置文件

前言

环境隔离能力,快速切换开发、测试、生产环境
步骤:
1、标识环境:指定那些组件、配置在那个生效
2、切换环境:这个环境对应的所有组件和配置就应该生效

1、使用

1.1指定环境@Profile({“dev”,“test”})

Spring Profiles 提供一个隔离配置的方式,使其仅在特定环境生效
任何@Component,@Configuration或@ConfigurationProperties 可以使用@Profile标记,来指定何时被加载。(容器中的组件都可以被@Prefile标记)

区分出几个环境:dev(开发环境)、test(测试i环境)、prod(生产环境)、default(默认环境)
指定每个组件在那个环境下生效
springboot--多环境配置快速切换开发、测试、生产环境_第1张图片
设置环境之后运行报错 因为目前使用的是默认环境所以找不到Cat了 需要使用try和catch
springboot--多环境配置快速切换开发、测试、生产环境_第2张图片

springboot--多环境配置快速切换开发、测试、生产环境_第3张图片

1.2环境激活

1.2.1、配置文件激活

#指定激活环境
spring.profiles.active=dev

springboot--多环境配置快速切换开发、测试、生产环境_第4张图片
springboot--多环境配置快速切换开发、测试、生产环境_第5张图片
springboot--多环境配置快速切换开发、测试、生产环境_第6张图片

#指定激活环境
#spring.profiles.active=dev

#指定默认环境
#spring.profiles.default=default

#包含指定环境,不管你激活那个环境都有,总是要生效的环境
spring.profiles.include=dev,test

1.2.3、通过启动文件激活

springboot--多环境配置快速切换开发、测试、生产环境_第7张图片
springboot--多环境配置快速切换开发、测试、生产环境_第8张图片

2、Profiles 分组

生产环境=激活的环境/默认环境+包含的环境
项目中使用:
基本配置:比如日志log,mybatis 等写到包含环境中
需要动态切换变化的db\redis:写到激活的环境中

#分组
spring.profiles.active=haha
spring.profiles.group.haha = dev,test

spring.profiles.group.haha[0]=dev
spring.profiles.group.haha[1]=test

3、Profile配置文件

application.properties:主配置文件,任何环境下都生效
其他profile环境下命名规范:application-{profile标识}.properties
比如:
appliction-dev.properties

激活指定环境即可:配置文件激活、命令行激活
效果:
项目的说有生效配置向= 激活环境配置文件的说有项+主配置文件和激活文件不冲突的所有项
如果发生配置冲突,以激活的环境配置文件为准
application-{profile标识}。properties 优先级 application.properties
主配置和激活的配置都生效,优先以激活的配置为准
springboot--多环境配置快速切换开发、测试、生产环境_第9张图片
springboot--多环境配置快速切换开发、测试、生产环境_第10张图片

你可能感兴趣的:(springboot,spring,boot,java,数据库,后端)