RequestContextHolder.getRequestAttributes()为空

问题遇到的现象和发生背景

service进行业务处理,通过mybatisplus的TableField注解通用处理操作人字段,RequestContextHolder.getRequestAttributes()为空。

问题相关代码,请勿粘贴截图

img

img

img

img

运行结果及报错内容

RequestContextHolder.getRequestAttributes()为空。

我的解答思路和尝试过的方法

启动类上加入

img


还就是网上搜的子线程继承request

img

以上尝试方法都达不到目的

我想要达到的结果

RequestContextHolder.getRequestAttributes()中获取当前用户

接口走dispatchServlet就会有数据,除非你自己启用异步或者手动删了threadLocal的数据,才会为空

debug界面截图看下,看下当前线程名。如果不是tomcat线程池中的线程,是无法获取 RequestContextHolder.getRequestAttributes()对象的。