zoukankan      html  css  js  c++  java
  • SpringBoot生产/开发/测试多环境的选择

    多环境选择

    • 一般一套程序会被运行在多部不同的环境中,比如开发、测试、生产环境,每个环境的数据库地址,服务器端口这些都不经相同,若因为环境的变动而去改变配置的的参数,明显是不合理且易造成错误的

    • 对于不同的环境,需要使用不同的配置文件,或者执行不同的类,而这个选择可以在SpringBoot的主配置文件中选择

    多个配置文件的实现方式

    首先我们定义多个配置文件,当然这个文件名必须得复合规则 :application-xxx.yml

      

    开发环境配置文件如下:

      

    生产环境配置文件如下:

      

    我们的主配置文件如下,我们选择的是读取生产环境的配置文件

      

    配置文件读读取选择,我们已经做好了,下面我们来做一下不同环境下使用不同的实现,最后做统一的测试

    我们定义一个接口

      

    我们的目的是,想在不同的环境下,使用不同的实现,于是有了下面两个不同的实现

      

      

    • 通过上面的标注,我们可以知道,在实现类上通过一个注解@Profile(" "),可以标明该实现类是在什么环境下所使用的

    • 然后我们写一个Controller,对其进行调用,并返回一个String给页面

    • 我们当前的SpringBoot主配置文件选择读取的是: application-prod.yml

    • 访问的路径就是 :localhost:9999/test3/stu

      

    如果我们想换一个环境,只需要修改一个主配置文件中的配置,将其改为dev或者test即可

    下面我将其修改为dev,进行测试

      

    可以发现,端口变了,拦截方式变了,业务称调用的实现也变了,这就是不同环境下,SpringBoot的多环境选择

    使用单配置文件的实现方式

    但配置文件的方式的话,只能使用yml方式,环境的选择和配置都在application.yml中,如下

    以上三个部分,相当于充当了三个配置文件,中间以---分割,自行测试即可

  • 相关阅读:
    jdk1.8 LongAdder源码学习
    linux 下 vi 文本编辑如何复制一行粘贴删除一行数据
    远程调试
    本机与远程主机指定端口的网络是否连通
    自定义弹窗
    Windows查看占用端口的进程及其对应的应用程序并关闭之
    超实惠:99元阿里云服务器1核2G内存40G硬盘(SSD)
    Java显式锁学习总结之六:Condition源码分析
    Maven使用国内镜像
    深入理解读写锁—ReadWriteLock源码分析
  • 原文地址:https://www.cnblogs.com/msi-chen/p/10959559.html
Copyright © 2011-2022 走看看