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
  • 相关阅读:
    HDU 4069 Squiggly Sudoku
    SPOJ 1771 Yet Another NQueen Problem
    POJ 3469 Dual Core CPU
    CF 118E Bertown roads
    URAL 1664 Pipeline Transportation
    POJ 3076 Sudoku
    UVA 10330 Power Transmission
    HDU 1426 Sudoku Killer
    POJ 3074 Sudoku
    HDU 3315 My Brute
  • 原文地址:https://www.cnblogs.com/pecool/p/14987104.html
Copyright © 2011-2022 走看看