Profile

Profile作用

	作用:同一套代码在不同环境读取不同的配置;

Profile使用配置

如下图所示,各个环境公共的配置写在application.properties中,与环境相关的配置写在对应的application-{xxx}.properties文件中,当程序启动时会优先读取profile设定的环境配置,若读不到才会从application.properties读取;
Profile_第1张图片

@Profile

作用:创建与环境相关的bean,当指定环境被激发时,bean被创建;如下代码所示当处于开发环境时,bean才会被创建。

@Component
@Profile("dev")
public class DevDatasourceConfig

Profile激活方式

方式一:在application.properties中设定

在application.properties文件中设定属性spring.profiles.active的值为对应环境,比如:

spring.profiles.active=prod

方式二:JVM参数


 java -jar app.jar --spring.profiles.active=dev

方式三:web.xml方式


   spring.profiles.active
   production
 

方式四:系统环境变量SPRING_PROFILES_ACTIVE

export SPRING_PROFILES_ACTIVE=dev

方式五:@ActiveProfile(单测使用)

Profile激活方式优先级

Profile_第2张图片

参考:

  1. https://www.cnblogs.com/sunny3096/p/7160079.html;
  2. https://www.baeldung.com/spring-profiles;
  3. https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html;

你可能感兴趣的:(Spring-Boot)