8、SpringBoot_多环境开发

二、多环境开发

1.概述

  • 概述:开发环境、测试环境、生产环境

  • 分类

    • 开发环境

      spring:
        datasource:
          druid:
            url: jdbc:mysql://localhost:3306/springboot_ssm
            username: root
            password: 123456
            driver-class-name: com.mysql.cj.jdbc.Driver
      
    • 测试环境

      spring:
        datasource:
          druid:
            url: jdbc:mysql://测试环境服务器地址:3306/springboot_ssm
            username: root
            password: 123456
            driver-class-name: com.mysql.cj.jdbc.Driver
      
    • 生产环境

      spring:
        datasource:
          druid:
            url: jdbc:mysql://阿里云地址:3306/springboot_ssm
            username: root
            password: adminroot
            driver-class-name: com.mysql.cj.jdbc.Driver
      

2.单文件控制多环境开发

  • 单文件多环境的使用

    server:
      port: 8082
    
  • 配置多环境的时候使用 — 隔开

    server:
      port: 8082
    ---
    server:
      port: 8888
    
  • 使用 spring profiles 区分是什么环境

    spring:
      profiles: dev
    server:
      port: 8082
    ---
    spring:
      profiles: test
    server:
      port: 8888
    
    ---
    spring:
      profiles: prod
    server:
      port: 9999
    
  • 设置启动环境

    spring:
      profiles:
        active: test
    ---
    #开发环境
    spring:
      profiles: dev
    server:
      port: 8082
    ---
    #测试环境
    spring:
      profiles: test
    server:
      port: 8888
    
    ---
    #生产环境
    spring:
      profiles: prod
    server:
      port: 9999
    
    

3.properties 多文件多环境开发

  • 图示

    8、SpringBoot_多环境开发_第1张图片

  • 主配置文件

    spring.profiles.active=dev
    
  • 开发环境

    # 应用名称
    spring.application.name=springboot-dev
    # 应用服务 WEB 访问端口
    server.port=8082
    
  • 测试环境

    # 应用名称
    spring.application.name=springboot-test
    # 应用服务 WEB 访问端口
    server.port=8888
    
  • 生产环境

    # 应用名称
    spring.application.name=springboot-prod
    # 应用服务 WEB 访问端口
    server.port=9999
    

4.yml 多文件多环境开发

  • 图示

    8、SpringBoot_多环境开发_第2张图片

  • 新建主配置

    spring:
      profiles:
        active: test
    
  • 开发环境

    server:
      port: 8082
    
  • 测试环境

    server:
      port: 8888
    
  • 生产环境

    server:
      port: 9999
    

5.多环境开发抽取独立配置

  • 背景:因为全部把配置配置到一个大文件里面,很多很乱,所以有的公司就使用拆分配置的方式来解决独立的配置耦合太严重的问题

  • 图示

    8、SpringBoot_多环境开发_第3张图片

  • 如果需要用到devredis 中的 redis 配置,直接在主配置中引入即可

    spring:
      profiles:
        active: dev
        include: devmysql,devredis
    
  • 这种切换还是存在问题,每次都得修改 include 中的value 值,所以,2.4版本之后新加了一个 group,将dev和test分组,只需要改变active值对应group的值

    spring:
      profiles:
        active: dev
        group:
          "dev": devmysql,devredis
          "test": testmysql,testredis
    

6.总结

  • 总结
    • 实际开发中,多环境开发很常用
    • dev 开发环境
    • test 测试环境
    • prod 生产环境

你可能感兴趣的:(spring,boot,后端,java,spring)