欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

8、Profile

程序员文章站 2022-07-13 13:36:25
...

开发者在项目发布之前,一般需要频繁地在开发环境、测试环境及生产环境之间进行切换,这个时候大量的配置需要频繁更改,例如数据库配置 、redis配置、jms配置等,频繁修改带来了巨大的工作量,Spring对此提供了解决方案,即@Profile注解,SpringBoot则更进一步提供了更加简洁的解决方案,SpringBoot中约定不同的环境下配置文件名称规则为application-{profile}.properties,profile占位符表示当前环境的名称,具体配置步骤如下:

1、创建配置文件

首先在resources目录下创建两个配置文件:application-dev.properties和appllication-prod.properties,分别表示开发环境中的配置和生产环境中的配置。其中,application-dev.properties文件的内容如下:

server.port=8081

application-prod.properties文件的内容如下:

server.port=8082

这里为了简化问题并且容易看到效果,两个配置文件只修改了项目端口号。

2、配置application.properties

然后在application.properties中进行配置:

spring.profiles.active=dev

这个表示使用application-dev.properties配置文件启动项目,若将dev改成prod,则表示使用application-prod.properties启动项目。项目启动成功后,就可以通过相应的端口进行访问了。
8、Profile

3、在代码中配置

对于第二步在application.properties中添加的配置,我们也可以在代码中添加配置来完成,在启动main方法上添加如下代码,可以替换第二步中的配置:

package com.cs;

import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;

@SpringBootApplication
public class SpringbootdemoApplication {

    public static void main(String[] args) {

//        SpringApplication.run(SpringbootdemoApplication.class, args);
        SpringApplicationBuilder builder = new SpringApplicationBuilder(SpringbootdemoApplication.class);
        builder.application().setAdditionalProfiles("prod");
        builder.run(args);
    }

}

去掉application.properties配置文件中的配置,启动项目,如下:
8、Profile

4、项目启动时配置

对于2和3中的两种配置方式,我们也可以在将项目打成jar包后启动时,在命令行动态指定当前环境,命令如下:

java -jar springbootdemo-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod

8、Profile