• springboot 多环境配置


    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

  • 相关阅读:
    Emacs 安装 jedi
    PHP+ MongoDB
    Debian 7 安装 Emacs 24.3
    在Code first中使用数据库里的视图
    Emacs安装auto-complete
    Debian 7.4 中配置PHP环境
    ASP.NET MVC 下载列表
    JDicom使用指南
    Windows常用的DOS命令
    Entity Framework问题总结
  • 原文地址:https://www.cnblogs.com/handsome1013/p/10934430.html
Copyright © 2020-2023  润新知