• 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
        
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7
      • 测试环境

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

        spring:
          datasource:
            druid:
              url: jdbc:mysql://阿里云地址:3306/springboot_ssm
              username: root
              password: adminroot
              driver-class-name: com.mysql.cj.jdbc.Driver
        
        • 1
        • 2
        • 3
        • 4
        • 5
        • 6
        • 7

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

    • 单文件多环境的使用

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

      server:
        port: 8082
      ---
      server:
        port: 8888
      
      • 1
      • 2
      • 3
      • 4
      • 5
    • 使用 spring profiles 区分是什么环境

      spring:
        profiles: dev
      server:
        port: 8082
      ---
      spring:
        profiles: test
      server:
        port: 8888
      
      ---
      spring:
        profiles: prod
      server:
        port: 9999
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
    • 设置启动环境

      spring:
        profiles:
          active: test
      ---
      #开发环境
      spring:
        profiles: dev
      server:
        port: 8082
      ---
      #测试环境
      spring:
        profiles: test
      server:
        port: 8888
      
      ---
      #生产环境
      spring:
        profiles: prod
      server:
        port: 9999
      
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8
      • 9
      • 10
      • 11
      • 12
      • 13
      • 14
      • 15
      • 16
      • 17
      • 18
      • 19
      • 20
      • 21
      • 22
      • 23

    3.properties 多文件多环境开发

    • 图示

      在这里插入图片描述

    • 配置文件

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

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

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

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

    4.yml 多文件多环境开发

    • 图示

      在这里插入图片描述

    • 新建主配置

      spring:
        profiles:
          active: test
      
      • 1
      • 2
      • 3
    • 开发环境

      server:
        port: 8082
      
      • 1
      • 2
    • 测试环境

      server:
        port: 8888
      
      • 1
      • 2
    • 生产环境

      server:
        port: 9999
      
      • 1
      • 2

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

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

    • 图示

      在这里插入图片描述

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

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

      spring:
        profiles:
          active: dev
          group:
            "dev": devmysql,devredis
            "test": testmysql,testredis
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6

    6.总结

    • 总结
      • 实际开发中,多环境开发很常用
      • dev 开发环境
      • test 测试环境
      • prod 生产环境
  • 相关阅读:
    操作系统4小时速成:处理机调度,调度方法,调度准则,典型的调度算法,响应比
    轻量级的资源授权:基于 OAuth 规范
    Linux—搭建Apache(httpd)服务
    Leetcode.2867 统计树中的合法路径数目
    一次线上OOM问题的个人复盘
    【EI会议征稿】第八届先进能源科学与自动化国际研讨会(AESA 2024)
    可横向扩展的高并发的七层负载均衡器方案
    TQSDRPI开发板教程:UDP收发测试
    【C语言】递归详解汉诺塔问题
    [gRPC via C#] gRPC本质的探究与实践
  • 原文地址:https://blog.csdn.net/Byron__/article/details/133347839