博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
大型重构实践-多国家部署 spring 配置文件
阅读量:7021 次
发布时间:2019-06-28

本文共 870 字,大约阅读时间需要 2 分钟。

趁着这个周末加班...对项目的spring配置文件做了一次重构,使配置文件的理解方式更加清晰了。 先说项目情况,当前项目刚从一波同事手中接手,

项目最开始是只有国内版本, 然后复制粘贴开发了印尼版本, 再复制粘贴开发了泰国版本

每个版本在不同的代码库, 功能和流程大同小异,但是依赖的服务接口都不相同(基线服务是不同的开发团队开发使然)。 公司为了后续快速部署新国家,使出了大招 国际化 , 那么首先要做的就是合并代码,添加适配层(这些工作同样不简单),那么我们来看看合并后的代码spring 配置及加载文件是怎么样的

先说说问题

  1. 左边的图是spring加载文件,上面的红圈是用作适配作用,国内的使用pop ,国外的使用 overseas,因为文件名称不同,所以在项目的配置中肯定有个判断点 在配置中,这儿使用了maven filter过滤,编译时加载不同的适配层
  2. 左边下面的红圈功能只有在中国使用,外国没有,那么从文件名中没有区分,那么一定存在另一个判断点在配置中
  3. 中间的图是因为将 maven 的 filter过滤功能 和 spring 的 el表达式运行时注入功能 混用(因为都是用占位符${...})
  4. 右面的图是在不同环境、不同国家的profile选择,(大家能看出来怎么选吗)

通过梳理和分析,针对上述问题,调整测试后的 配置结构如下:

  1. 新建profiles文件夹,再建部署国家文件夹,里面根据不同的运行环境(dev、test、production)配置文件,这样我们在pom中只要根据国家和运行环境可以一次性将所需文件打包,另外因为文件名称一致,我们去除了一个判断点
  2. 在右上图中我们可以在不同国家加载不同的配置文件,可以灵活添加组合
  3. 通过右下图我们可以看出我们在国家和运行维度两个维度构建profile,十分清晰,很容找到当前的maven profile 。

通过 重构,将多国家部署spring配置文件分离的更加清晰,也更容易使团队理解,当然重构过后别忘了测试哦。

欢迎关注bob,后续会将工作中的一些心得和大家一起分享。

转载地址:http://tscxl.baihongyu.com/

你可能感兴趣的文章
printf的返回值问题(转)
查看>>
常用选择器
查看>>
eclipse 调试多线程
查看>>
各种排序算法
查看>>
条码控件商IDAutomation极大改善了Barcode Image Generator性能
查看>>
AxureRP7.0基础教程系列 部件详解 Menu 菜单
查看>>
SpringMVC 搭建及详解
查看>>
PCC-S-02201
查看>>
solr的分词器
查看>>
源码包安装
查看>>
docker hello-world
查看>>
5个词 带你回忆2014 IT安全圈
查看>>
微信小程序从入门到项目实战
查看>>
CentOS7 安装执行 VmwareCore
查看>>
EL表达式详解
查看>>
docker容器
查看>>
系统性能指标查看方法-Linux
查看>>
Android应用退出的认识
查看>>
BAT及各大互联网公司2014前端笔试面试题--JavaScript篇
查看>>
AirTight C-60 AP
查看>>