Spring框架请求范围和单例自动装配

发布于 2024-10-30 02:43:57 字数 352 浏览 0 评论 0原文

我将 OncePerRequestFilter 用于“请求”范围内的服务 bean,该服务自动连接到控制器中。但我仍然收到此错误。

使用名称创建 bean 时出错 “文件处理服务”:范围 “请求”对于以下内容无效 当前线程;考虑定义一个 如果您有此 bean 的作用域代理 打算从一个参考它 单例;嵌套异常是 java.lang.IllegalStateException:否 发现线程绑定请求:你是吗 参考请求属性 在实际的网络请求之外,或者 处理外部请求 最初接收线程?

请求范围内的 bean 可以用单例 bean 注入吗?或者问题出在其他地方?

I'm using OncePerRequestFilter for a service bean in "request" scope that is autowired into controller. But I still get this error.

Error creating bean with name
'fileProcessingService': Scope
'request' is not active for the
current thread; consider defining a
scoped proxy for this bean if you
intend to refer to it from a
singleton; nested exception is
java.lang.IllegalStateException: No
thread-bound request found: Are you
referring to request attributes
outside of an actual web request, or
processing a request outside of the
originally receiving thread?

Can a bean in request scope be injected with singleton beans ? or the problem is somewhere else ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

坏尐絯℡ 2024-11-06 02:43:57

如果您需要在 DispatcherServlet 之外使用请求和会话范围的 Bean,请将以下内容添加到 web.xml 中:

<listener>
  <listener-class>
      org.springframework.web.context.request.RequestContextListener
  </listener-class>
</listener>

If you need to use request and session scoped beans outside of DispatcherServlet, add the following to web.xml:

<listener>
  <listener-class>
      org.springframework.web.context.request.RequestContextListener
  </listener-class>
</listener>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文