【发布时间】:2011-09-22 17:27:13
【问题描述】:
下面是 Spring 中原型和请求范围的定义。
原型 将单个 bean 定义限定为任意数量的对象实例。
请求 将单个 bean 定义限定为单个 HTTP 请求的生命周期;也就是说,每个 HTTP 请求都有自己的 在单个 bean 定义的后面创建的 bean 实例。仅在 Web 感知 Spring ApplicationContext 的上下文中有效。
据我了解,在原型范围的情况下,一些池将由核心容器维护。它将为该池中的 bean 实例提供服务。 在请求范围的情况下,将为每个 http 请求提供新的 bean。理解有偏差请指正?
如果上述陈述为真,那么如果 bean 保持某种状态,则不应将范围定义为原型,而应将其定义为原型 按要求。对吗?
【问题讨论】:
-
最佳解释。还有一个问题:对于原型范围的 bean “客户端代码必须清理原型范围的对象并释放原型 bean 持有的昂贵资源。”什么是请求范围 bean。请求范围的 bean 会由 IOC 容器处理吗?谢谢:)
标签: spring