springboot 切换配置文件 application-dev sit uat pro
公司里经常会碰到多个环境,通常会准备多个配置文件,而不是在同一个配置文件里改来改去。
以springboot项目为例,我们会准备这些配置文件:
application-dev.yml
application-sit.yml
application-uat.yml
application-pro.yml
application.yml
在application.yml添加如下配置
spring:
profiles:
active: dev
# 此处dev可以换成sit,uat,pro
# application.yml也可以换成application.properties文件,则是 spring.profiles.active=dev
这是springboot提供的application-{profile}.properties或者application-{profile}.yml
将花括号替换成你自定义的后缀。
springboot会先获取application.yml的配置,通过application.yml里的配置,去获取application-dev.yml的内容。
这样的话,就可以将共同的配置放在application.yml
另外两种方式:
1.启动类中添加
将原本 SpringApplication.run(Application.class, args); 替换成 SpringApplicationBuilder builder=new SpringApplicationBuilder(Application.class); builder.application().setAdditionalProfiles("dev"); builder.run(args);
代码如下:
@SpringBootApplication
public class Application {public static void main(String[] args) {SpringApplicationBuilder builder = new SpringApplicationBuilder(Application.class);builder.application().setAdditionalProfiles("dev");builder.run(args);}
}
2.启动jar包时通过命令行
java -jar xxx.jar --spring.profiles.active=pro
在机器上部署的时候可以使用这种方式。
开发的时候可以使用bootstrap.yml配置文件的方式