Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
什么是这类东西的真实例子?我已经浏览过这篇文章,但这篇文章的答案对我来说似乎没有定论。还有一个建议:“作为一项规则,对所有有状态 bean 使用原型范围,对无状态 bean 使用单例范围” ——来自 spring 参考,但为什么我们需要我们的服务是有状态的?我们可以将这个状态作为一个简单的 dto 在服务调用之间共享。
它的一种流行用途是将 bean 的单独实例关联到每个 HTTP 会话。
考虑您有一个名为 UserConfig 的 bean 类。您可以将此 bean 设置为原型范围,并进行配置,使每个新的 HTTP 会话都有自己的 UserConfig bean 实例。(为此,Spring MVC 有自己的称为“会话”的范围,但概念相似)
用户还可以更改您的站点配置,并且更改的状态保存在其自己的 bean 实例中(如果您将其设置为单例范围,则不会更改全局单个实例)