RequestContextHolder 是 Spring 框架中的一个类,主要用于在多线程环境中存储和访问 HTTP 请
求的上下文信息。它允许在 Spring 应用程序中从任何位置访问当前请求的相关信息,比如 HTTP
头部、会话数据等,而无需将请求对象直接传递到每个方法中。
主要用途
存储请求上下文:RequestContextHolder 通过 ThreadLocal 变量来保存当前线程中的请求上下文
信息。
访问请求信息:开发人员可以通过 RequestContextHolder 获取当前线程中的 HttpServletRequest
对象,从而访问请求头、请求参数等信息。
跨层访问:即使在业务逻辑层或服务层也能轻松访问到请求相关的数据,这有助于简化代码结构并
提高代码的可读性和可维护性。
使用示例
下面是一个简单的使用 RequestContextHolder 的示例:
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;public class ExampleSe