java吧 关注:1,226,060贴子:12,682,712
  • 0回复贴,共1

线程变量用于跨方法传递数据的思考

只看楼主收藏回复

最近在重构项目,发现有很多冗余的代码,一部分是因为参数导致的,每个接口参数都封装成一个pojo,很多对象都存在重复的字段,现在有三种方案,map做万能参数、继承bean复用代码,用线程变量跨方法传递参数。
前面两种方案都不合适,map做参数的缺点在于key是字面量,容易造成输写错误,且不能指导调用者怎么调用。
不用继承复用bean的原因:一、代码不存在逻辑关系,不适合复用,二复用bean导致结构复杂不易维护。
那么只剩下用线程变量了,线程变量只需要注意在每个请求结束时clear掉数据,将大多数通用参数放入线程变量,调用者只需要注意少部分参数,方法参数大量缩减。唯二的担忧是写代码过程中会不自觉的把很多很多参数都写入线程变量,二是之前没有这么做过,不知道有没有什么隐患。
大家有什么建议没。


1楼2020-12-07 18:44回复