Spring Boot HttpServletRequest请求范围Bean?



似乎HttpServletRequest是一个请求作用域bean,但我还没有找到关于此的任何文档。

有人知道这是在哪里记录或在代码库中创建的吗?

HttpServletRequest通常由servlet容器(例如Tomcat)创建和管理,而不是Spring。通常不需要将其定义为spring bean,除非您正在做一些特殊的事情。所以技术上从弹簧的角度来看,HttpServletRequest没有任何作用域,因为它不是弹簧bean。

但是,即使出于某种原因需要定义HttpServletRequestbean,默认情况下它也将位于单例作用域中。(参见此处的作用域表)

HttpServletRequest和请求范围bean之间的关系是,春天将确保每当新HttpServletRequestservlet容器过程,它将创建一个新的请求范围bean实例,以防你需要处理这个HttpServletRequest期间访问它。并且这个请求范围bean将在servlet容器完成HttpServletRequest处理后被销毁。这种行为在上面的链接中也提到了:

将单个bean定义作用于单个HTTP请求的生命周期。也就是说,每个HTTP请求都有自己的bean实例,该实例是在单个bean定义的后面创建的。只在支持web的Spring ApplicationContext上下文中有效

相关内容

  • 没有找到相关文章

最新更新