在Springboot项目中,我们通过application.properties或者application.yml配置文件对项目进行必要的配置,在项目发布前,需要频繁的在本地开发环境、测试环境和生产环境等之间进行切换。
这个时候如果单纯的去修改application配置文件,那么将带来大量的工作量。对此,Spring Boot提供了一个简洁的解决方案,约定不同环境下的配置文件名称规则为application-{profile}.properties,此时只需要给不同环境下的application文件加上不同的profile后缀名称即可,例如在本地开发环境下,profile=dev,在测试环境下,profile=test,在生成环境下,profile=prod。
约定方案已经完成了,那么怎么样在不同环境下进行切换呢,springboot对此提供了三种方式:
第一种方式:添加application.properties,并定义如下代码:
spring.profiles.active=dev/test/prod
根据实际情况去选择dev或test或prod。
第二种方式:修改启动类:
在启动类中,我们通常在main方法中通过SpringApplication.run(xxx.class)方法进行启动,此时修改为如下:
@SpringBootApplication
public class ProfileApplication {
public static void main(String[] args) {
SpringApplicationBuilder builder = new SpringApplicationBuilder(ProfileApplication.class);
builder.application().setAdditionalProfiles("dev");
builder.run(args);
}
}
第三种方式:在启动jar包时,通过以下方式进行启动:
java -jar xxx.jar --spring.profiles.active=dev/test/prod