SpringBoot:Profile功能

Profile功能

为了方便多环境适配,springboot简化了profile功能。

application-profile功能

  • 默认配置文件 application.yaml;任何时候都会加载
  • 指定环境配置文件 application-{env}.yaml
  • 激活指定环境
    • 配置文件激活
    • 命令行激活:java -jar xxx.jar --spring.profiles.active=prod --person.name=haha
      • 修改配置文件的任意值,命令行优先
  • 默认配置与环境配置同时生效
  • 同名配置项,profile配置优先

例:

默认加载没有任何后缀的配置文件,如上图就是application.properties,

spring.profiles.active=prod  #指定激活的环境,
#默认配置文件(没有任何后缀的)和指定环境的配置文件都好被加载
#如果有相同配置项,指定配置文件优先

打成war包放在服务器运行的时候,可以使用命令java -jar xxx.jar --spring.profiles.active=prod --person.name=haha 修改配置项 

@Profile条件装配功能

可以在类或者方法上面加入注解@Profile("prod")让其加载指定的配置文件

@Configuration(proxyBeanMethods = false)
@Profile("prod")
public class ProductionConfiguration {

    // ...

}

profile分组

将application-proddb.yml与application-prodmq.yml分为一组(production),同时加载

spring.profiles.active=production
spring.profiles.group.production[0]=proddb
spring.profiles.group.production[1]=prodmq
spring.profiles.group.production1[0]=prod

外部化配置

 

阅读剩余
THE END