gpt4 book ai didi

spring - bean 范围的真实用例

转载 作者:行者123 更新时间:2023-12-02 08:14:32 24 4
gpt4 key购买 nike

我正在学习 Spring,我了解了 bean 作用域 - 它们每个的真实世界用例是什么,我无法获得任何帮助。请帮助何时在 Spring 中使用 Singleton、Prototype、Request 和 Session 作用域。

最佳答案

  • Singleton:它为每个 Spring IoC 容器返回一个 bean 实例。这个单个实例存储在此类单例 bean 的缓存中,并且该命名 bean 的所有后续请求和引用都会返回缓存的对象。如果配置文件中没有指定bean范围,则默认为单例。 真实示例:连接到数据库

  • 原型(prototype):每次请求时都会返回一个新的 Bean 实例。它不像单例那样存储任何缓存版本。 真实示例:声明配置的表单元素(例如,配置为验证姓名、电子邮件地址的文本框)并为创建的每个表单获取它们的“事件”实例

  • 请求:每个 HTTP 请求返回一个 Bean 实例。 现实世界示例:仅在一页上有效的信息,例如搜索结果或订单确认。该 bean 在页面重新加载之前一直有效。

  • session :它为每个 HTTP session (用户级 session )返回一个 Bean 实例。 真实世界示例:保存在 session 关闭(通过超时或注销)时失效的身份验证信息。您也可以在此处存储您不想在每次请求时都重新加载的其他用户信息。

  • GlobalSession:它为每个全局 HTTP session 返回一个 Bean 实例。它仅在 Web 感知的 Spring ApplicationContext(应用程序级 session )上下文中有效。它与 Session 范围类似,并且实际上仅在基于 portlet 的 Web 应用程序的上下文中才有意义。 Portlet 规范定义了全局 session 的概念,该 session 在构成单个 Portlet Web 应用程序的所有不同 Portlet 之间共享。在全局 session 范围内定义的 Bean 绑定(bind)到全局 portlet session 的生命周期。

关于spring - bean 范围的真实用例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39400697/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com