测试环境比线上的代码多了几行转换代码怎么处理?

225 阅读1分钟

  一、背景

  今天一个朋友问了一个问题,测试环境比线上的代码多了几行代码怎么办?

  是不是要新建分支?有没有更好的办法?

  比如测试环境和线上环境用了同一套NoSQL存储,想隔离两个环境怎么办?

  下面提供一个比较通用的方案,希望对大家有帮助。

  二、方法

  我们可以写一个环境工具类,然后再特定环境的代码上用这个工具类进行判断。

  


  当然也可以直接注入

  


  然后借助工具类来判断环境

  


  当然了也可以借助Apollo来配置,比如设置一个变量表示是否开启某个功能,线上的Apollo和测试服的配置不同。

  如果预发和线上服公用同一套缓存框架,通过环境工具类获取环境的名称和key组合成一个新的key字符串,即可实现环境的隔离。

  三、总结

  方法不难,在开发中偶尔也会用到。

  另外建议大家多看Spring的官方文档,很多场景都有专门的类提供了相关的功能,而不是遇到一个问题一个问题去查,去问。