zoukankan      html  css  js  c++  java
  • springboot 多环境配置

    一、问题

      软件开发中经常有开发环境、测试环境、预发布环境、生产环境,而且一般这些环境配置会各不相同,手动改配置麻烦且容易出错,如何管理不同环境的配置参数呢?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

  • 相关阅读:
    [APIO2016]划艇
    C# 循环的判断会进来几次
    C# 性能分析 反射 VS 配置文件 VS 预编译
    C# 性能分析 反射 VS 配置文件 VS 预编译
    AutoHotKey 用打码的快捷键
    AutoHotKey 用打码的快捷键
    C# 通过编程的方法在桌面创建回收站快捷方式
    C# 通过编程的方法在桌面创建回收站快捷方式
    C# 条件编译
    C# 条件编译
  • 原文地址:https://www.cnblogs.com/mr-yang-localhost/p/8971327.html
Copyright © 2011-2022 走看看