👋 欢迎浏览我的技术博客,记录学习笔记 本人28届软工一枚

4.21 ThreadLocal

1.是干什么的:线程本地存储,人话就是每个进程独立的存储空间,但这个存储空间只能存一个东西,通常通过存map集合来存多个
怎么用:在拦截器里解析完JWT后将数据存进map再set;在每次使用时直接调用ThreadLocalUtil.get();最后从map里取出数据并强转
!!!不要忘记在拦截器里重写afterCompletion方法(用于在每次请求后销毁ThreadLocal)

先放一个Util类:
`
public class ThreadLocalUtil {

// 提供ThreadLocal对象
private static final ThreadLocal THREAD_LOCAL = new ThreadLocal();

// 根据键获取值
public static T get() {
return (T) THREAD_LOCAL.get();
}

// 存储键值对
public static void set(Object value) {
THREAD_LOCAL.set(value);
}

// 清除ThreadLocal 防止内存泄漏
public static void remove() {
THREAD_LOCAL.remove();
}
}
`

posted @ 2026-04-28 20:54  气球飞起  阅读(12)  评论(0)    收藏  举报