码迷,mamicode.com
首页 > 其他好文 > 详细

如何把项目中经常使用的信息放在全局的对象里,随取随用?

时间:2021-07-09 17:51:03      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:tom   filter   程序   分代   key   request   怎么   adl   ring   

需求:

  [“userName”,"userId","appId"......]像这些基础信息,如果能随取随用那就太棒了。

怎么做:

  在filter里,将这些信息存储在ThreadLocal里。在使用的地方直接获取。在filter结束的方法里,将ThreadLocal里的这些信息擦除。springboot中tomcat使用的是线程池,那么ThreadLocal在存储时的key Thread.currentThread和获取时使用的key Thread.currentThread有可能不一样。就会发生要么获取不到值,要么获取到错误的值。

  如果非要使用ThreadLocal,解决的思路就是每次先塞值,再删值。这样做的好处显而易见,但坏处是每次都会塞一次值,例如不需要这些信息的请求也塞值了。

  如果为了节省程序的消耗,那就需要的时候从request中单独获取,可以把这部分代码写成一个工具类,需要时直接调用。

备注:

  这些的信息在token中有携带。

如何把项目中经常使用的信息放在全局的对象里,随取随用?

标签:tom   filter   程序   分代   key   request   怎么   adl   ring   

原文地址:https://www.cnblogs.com/pecool/p/14987104.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!