【发布时间】:2013-06-14 00:32:58
【问题描述】:
这类东西的真实例子是什么?我已经浏览过this 的帖子,但这篇帖子的答案对我来说似乎没有定论。还有一个建议:“作为一项规则,所有有状态 bean 使用原型范围,无状态 bean 使用单例范围” - 来自 spring 参考,但为什么我们需要我们的服务是有状态的?我们可以将这个状态作为一个简单的 dto 在服务调用之间共享。
【问题讨论】:
这类东西的真实例子是什么?我已经浏览过this 的帖子,但这篇帖子的答案对我来说似乎没有定论。还有一个建议:“作为一项规则,所有有状态 bean 使用原型范围,无状态 bean 使用单例范围” - 来自 spring 参考,但为什么我们需要我们的服务是有状态的?我们可以将这个状态作为一个简单的 dto 在服务调用之间共享。
【问题讨论】:
它的一个流行用途是将 bean 的单独实例关联到每个 HTTP 会话。
假设您有一个名为 UserConfig 的 bean 类。您可以将此 bean 设置为原型范围,并进行配置,使每个新的 HTTP 会话都有自己的 UserConfig bean 实例。 (为此,Spring MVC 有自己的称为“会话”的范围,但概念类似)
用户还可以更改您的站点配置,并且更改后的状态保存在其自己的 bean 实例中(如果您将其设置为单例范围,则不会更改全局单个实例)
【讨论】: