springboot 多环境配置

Spring Boot多环境配置实践
本文介绍使用Spring Boot和Maven进行多环境配置的方法。通过不同的YML文件(如application-dev.yml、application-test.yml等),实现开发、测试、预发布及生产环境的独立配置。并演示了如何通过spring.profiles.active属性切换环境。

一、问题

  软件开发中经常有开发环境、测试环境、预发布环境、生产环境,而且一般这些环境配置会各不相同,手动改配置麻烦且容易出错,如何管理不同环境的配置参数呢?spring-boot + maven可以解决不同环境独立配置不同参数的问题。

二、多环境配置

不同环境的配置yml文件名不一样:

  • application-dev.yml(开发环境)
  • application-test.yml(测试环境)
  • application-uat.yml(预发布)
  • application-pro.yml(生产环境)

eg:

application-dev.yml配置示例:

info:
  build:
    name: ${project.artifactId}
    groupId: ${project.groupId}
    artifactId: ${project.artifactId}
    version: ${project.version}

server:
  port: 8081

endpoints:
  enabled: true
  sensitive: false

data:
  test:
    envName: dev
    envconfig: 127.0.0.1:8081

application.yml

spring:
  profiles:
    active: dev

如果要切换不同环境,只需要修改spring.profiles.active即可。

读取配置参数: 

@Setter
@Getter
@NoArgsConstructor
@AllArgsConstructor
@Component
@ConfigurationProperties(prefix = "data.test")
public class DataConfig {
    private String envName;
    private String envconfig;
}

 验证环境参数: 

@Api("home controller")
@RestController
public class HomeController {
    @Autowired
    private DataConfig dataConfig;

    @RequestMapping("/env")
    @ApiOperation("env")
    public Object testEnv() {
        return dataConfig;
    }
}

三、设置环境

1、启动jar包时设置spring.profiles.active

java -jar muti-env-config.jar --spring.profiles.active=test

 2、maven打包时候设置环境(设置 pro 环境)

clean package -DskipTests -Ppro

pro环境示例:

 

demo参考地址:muti-env-demo

转载于:https://www.cnblogs.com/mr-yang-localhost/p/8971327.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值