Spring boot 配置多套环境

       最近在优化配置代码的时候遇到了一个问题,配置的多套环境参数始终无法正确加载,经过多次尝试和查阅资料得出结论如下:

       1.  使用application.yml一个文件可以配置多套环境参数,每套环境分割使用“---”。使用spring.profiles来区分环境。使用spring.profiles.active来指定使用那套环境参数。具体如下:


server:
  port: 9860
  tomcat:
    max-threads: 10

# 日志配置  为空为项目跟目录下的logs  或者指定已经存在的目录
#log:
#  path:

spring:
  profiles:
    active: sit

  resources:
    chain:
      cache: false

  cache:
    type: NONE



management:
  security:
    enabled: false

startCfg:
  env: default


---
##########################  SIT环境配置  #####################################
server:
  port: 9850

spring:
  profiles: sit

startCfg:
  env: sit

 

        2.  使用application-xxx.yml多个文件配置多套环境参数,每套环境使用后缀来区分(和spring.profiles作用相同, 文件中spring.profiles属性可以不配置,配置必须和文件名的环境参数保持一致,否则这套配置参数无效)。使用spring.profiles.active来指定使用那套环境参数。具体如下:

        application-dev.yml

        

##########################  开发环境配置  #####################################
server:
  port: 9870

spring:
  profiles: dev   #可以不配置,或者和文件名的环境参数保持一致,否则这套配置参数无效

startCfg:
  env: dev

 

测试代码:

@RestController
@RequestMapping("test")
public class BatchController {

    @Value("${startCfg.env}")
    String env;

    @RequestMapping("/env")
    public String getEnv(){
        return "this env is "+env;
    }
    
}

 

转载于:https://my.oschina.net/skyzwg/blog/1538338

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值