zoukankan      html  css  js  c++  java
  • 如何把项目中经常使用的信息放在全局的对象里,随取随用?

    需求:

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

    怎么做:

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

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

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

    备注:

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

    Best Regards
  • 相关阅读:
    正则表达式
    对象与私有成员变量恩仇录
    c语言,中缀表达式转后缀表达式并计算
    Graphics Class
    获取当前应用程序所在目录的路径
    centos安装vim
    Linux更改IP地址
    Linux常用命令
    Linux添加环境变量
    Linux虚拟机安装
  • 原文地址:https://www.cnblogs.com/pecool/p/14987104.html
Copyright © 2011-2022 走看看