Java中如何通过ThreadLocal实现线程安全的登录信息存取?

2026-05-21 01:191阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计781个文字,预计阅读时间需要4分钟。

Java中如何通过ThreadLocal实现线程安全的登录信息存取?

目录

一、使用ThreadLocal实现当前登录信息的存储

1.创建一个工具类用于存储用户id

2.在用户登录时,将用户id放入ThreadLocal中

二、总结

目录
  • 一、使用ThreadLocal实现当前登录信息的存取
    • 1,写一个工具类用于存取用户id
    • 2、在用户登录的时候我们在过滤器中可以获取用户的id,这个时候我们将用户id放入ThreadLocal中。
  • 二、总结

    一、使用ThreadLocal实现当前登录信息的存取

    在项目中我们增加一个员工有一些信息是需要我们自己填入的,有一些信息不需要我们自己填写,例如:创建时间,创建人等,那么这些事件我们通常就是使用实体类然后set相关属性,但是我们可以使用MetaObjectHandler来将这些不要要我们自己穿的参数进行默认填充,但是创建人和更新人是获取的当前用户登录人。

    我们都知道想要获取当前的登录人就需要使用HttpServletRequest来获取,但是我们字符串填充类没有这个,那么我们就可以使用ThreadLocal来实现当前登录信息的存取。

    ThreadLocal的实现原理就是,一个线程里面有局部变量,我们可以利用局部变量来存取数据,当然我们必须保证是同一个线程这样才能准确的存储和获取数据,在我们一个请求流程下来我们都使用的一个线程,所以这里我们就可以使用ThreadLocal来进行信息的存取。

    阅读全文

    本文共计781个文字,预计阅读时间需要4分钟。

    Java中如何通过ThreadLocal实现线程安全的登录信息存取?

    目录

    一、使用ThreadLocal实现当前登录信息的存储

    1.创建一个工具类用于存储用户id

    2.在用户登录时,将用户id放入ThreadLocal中

    二、总结

    目录
    • 一、使用ThreadLocal实现当前登录信息的存取
      • 1,写一个工具类用于存取用户id
      • 2、在用户登录的时候我们在过滤器中可以获取用户的id,这个时候我们将用户id放入ThreadLocal中。
    • 二、总结

      一、使用ThreadLocal实现当前登录信息的存取

      在项目中我们增加一个员工有一些信息是需要我们自己填入的,有一些信息不需要我们自己填写,例如:创建时间,创建人等,那么这些事件我们通常就是使用实体类然后set相关属性,但是我们可以使用MetaObjectHandler来将这些不要要我们自己穿的参数进行默认填充,但是创建人和更新人是获取的当前用户登录人。

      我们都知道想要获取当前的登录人就需要使用HttpServletRequest来获取,但是我们字符串填充类没有这个,那么我们就可以使用ThreadLocal来实现当前登录信息的存取。

      ThreadLocal的实现原理就是,一个线程里面有局部变量,我们可以利用局部变量来存取数据,当然我们必须保证是同一个线程这样才能准确的存储和获取数据,在我们一个请求流程下来我们都使用的一个线程,所以这里我们就可以使用ThreadLocal来进行信息的存取。

      阅读全文