ThreadLocal的使用
ThreadLocal(day02中)
在新增过程中,需要设置以下四个字段,在更新的过程中需要设置后两个字段,每次新增(新增员工,菜单等等)时就需要设置。而这些代码属于重复部分,可以拿出来,不用反复重写。在mybatisplus中提供了一种方法,公共字段自动填充功能
元数据对象处理的代码为:
1 |
|
以上代码有问题,就是修改用户的id是写死的,因为不能定义HttpServletRequest,因此这里使用ThreadLocal的方法解决
因为每发送一次http请求,调用方法的线程都是同一个线程,
使用ThreadLocal:
ThreadLocal 是 Java 里一种特殊变量,它是一个线程级别变量,每个线程都有一个 ThreadLocal 就是每个线程都拥有了自己独立的一个变量,竞态条件被彻底消除了,在并发模式下是绝对安全的变量。
可以通过 ThreadLocal
value = new ThreadLocal (); 来使用。 会自动在每一个线程上创建一个 T 的副本,副本之间彼此独立,互不影响,可以用 ThreadLocal 存储一些参数,以便在线程中多个方法中使用,用以代替方法传参的做法。
ThreadLocal的使用
http://example.com/2022/07/22/方法/