SpringBoot Profile机制灵活切换环境配置

公众号:MCNU云原生,欢迎搜索关注,更多干货,及时掌握。

springboot应用会经历开发、测试、uat测试、投产等多个阶段,在每个环节都会涉及大量的配置修改,例如数据库配置、redis配置等。
频繁的修改导致环境需要不断的切换,且工作量比较大,无法实现环境的隔离,还容易造成环境不一致的问题,影响开发进度和投产质量。
在这里插入图片描述

springboot提供了灵活的profle切换机制解决这个问题。在springboot中约定不同环境下配置不同的配置文件,以application-{profile}.properties格式命名,例如:

  • 开发环境:application-dev.properties
  • 测试环境:application-test.properties
  • uat环境:application-uat.properties
  • 生产环境:application-prod.properties

基本原理就是在统一的地方指定某种环境下使用某个配置文件,至于环境的切换,主要有三种形式:

一、使用application.properties配置

在application.properties配置文件中,使用spring.profiles.active配置来切换不同环境的配置文件,如开发环境则配置spring.profiles.active=dev,在开发过程中最推荐这种方式。

二、代码中配置

在代码中指定,每次修改环境时修改对应代码,这种方式主要也是应用于开发过程中,其他场景不适用,如下指定profile为“dev”。

	public static void main(String[] args) {
    
    
		SpringApplicationBuilder springApplicationBuilder = new SpringApplicationBuilder(DemoApplication.class);
		springApplicationBuilder.application().setAdditionalProfiles("dev");
		springApplicationBuilder.run(args);
	}

三、项目启动命令行配置

将springboot应用打成jar包进行启动,可以通过在启动的命令行后面带上参数来指定,这种方式适用于生产环境发布,在启动脚本中指定:

$ java -jar demo-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod

猜你喜欢

转载自blog.csdn.net/projim_tao/article/details/129340704