Skip to main content
 首页 » 编程设计

spring中将对象从 Controller 传输到 dao

2024年11月24日11shanyou

我从请求中获取 token (需要该 token 来识别用户)以初始化拦截器中的用户对象。然后我想将此用户对象传输到 Controller (我可以将用户对象放入 httprequest 并在 Controller 方法中获取它,这是最佳实践吗???,我不确定)而不是将其传输到服务和 dao 层。但我不想将此用户对象作为参数添加到 Controller ->服务->dao 之间的每个方法。最佳实践是什么?

提前致谢。

请您参考如下方法:

使用 request-scoped bean 怎么样?持有 token 。您可以在 Controller 中引用该 bean 并在其上设置 token 。然后,在较低的 DAO 层中,您可以引用相同的 bean 来提取 token 。这将节省将 token 传递到方法堆栈的麻烦。

或者,您可以直接使用 ThreadLocal 存储,这实际上是请求范围的,但由于您使用的是 Spring,因此利用它自己的请求范围功能会更干净、更有意义。