ThreadLocal

实际开发中,ThreadLocal 常用于存储用户会话信息、数据库连接等,以便在整个请求处理过程中保持状态。

package com.hmdp.utils;

import com.hmdp.dto.UserDTO;

public class UserHolder {
    private static final ThreadLocal<UserDTO> tl = new ThreadLocal<>();

    /**
     * 此方法接收一个 UserDTO 对象,并将其存储在当前线程的 ThreadLocal 中。
     * 通过调用此方法,可以将用户信息保存到当前线程的上下文中。
     * @param user
     */
    public static void saveUser(UserDTO user){
        tl.set(user);
    }

    public static UserDTO getUser(){
        return tl.get();
    }

    public static void removeUser(){
        tl.remove();
    }
}