4.7日

ThreadLocal工具类,线性安全,在拦截器中把业务程序存储到ThreadLoacl中
public class ThreadLocalUtil {
//提供ThreadLocal对象,
private static final ThreadLocal THREAD_LOCAL = new ThreadLocal();

//根据键获取值
public static <T> 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();
}

}
用完调用之后在拦截器中再加一个释放方法,防止泄露
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
//清空ThreadLocal中的数据
ThreadLocalUtil.remove();
}

posted @ 2025-04-07 21:03  YANGzLIN...11  阅读(7)  评论(0)    收藏  举报