当前位置: 首页 > 知识库问答 >
问题:

bean范围的真实世界用例

雷献
2023-03-14

我正在学习Spring,我学习了bean范围——它们的实际用例是什么,我无法得到任何帮助。请帮助我们在Spring中何时使用单例、原型、请求和会话范围。

共有1个答案

东方富
2023-03-14

>

  • 单例:它为每个Spring IoC 容器返回一个 Bean 实例。此单个实例存储在此类单例 Bean 的缓存中,并且对该命名 Bean 的所有后续请求和引用都将返回缓存的对象。如果未在配置文件中指定 Bean 作用域,则缺省使用单例。实际示例:连接到数据库

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

    请求:它为每个HTTP请求返回一个bean实例。真实世界的例子:应该只在一页上有效的信息,如搜索结果或订单确认。在页面重新加载之前,bean将一直有效。

    会话:它为每个HTTP会话(用户级会话)返回一个bean实例。真实世界示例:在会话关闭时(通过超时或注销)保持身份验证信息无效。您也可以在此处存储不希望随每个请求重新加载的其他用户信息。

    GlobalSession:它为每个全局HTTP会话返回一个bean实例。它仅在web感知的Spring ApplicationContext(应用程序级会话)的上下文中有效。它类似于会话范围,并且只在基于portlet的web应用程序的上下文中才有意义。portlet规范定义了在组成单个portlet web应用程序的所有不同portlet之间共享的全局会话的概念。在全局会话范围内定义的Beans被绑定到全局portlet会话的生存期。

  •  类似资料:
    • 4.2.真实世界的例子 我们要做的是一个Twitter应用。用户的需求很清楚,那就是发新消息、查看朋友的新消息,这也正是它的基本功能。除此之外,我们还需要事先获知用户的用户名和密码才能登录Twitter。由此可知,我们需要三个界面。 其次,我们希望应用程序能够流畅地运行,而回避开网络连接情况的影响。应用程序应该只在设备联网时抓取Twitter消息,并缓存到本地。为此,我们需要用到一个后台运行的Se

    • 本文向大家介绍Design patterns 真实世界的外观(C#),包括了Design patterns 真实世界的外观(C#)的使用技巧和注意事项,需要的朋友参考一下 示例            

    • RePractise终于又迎来了新的一篇,要知道上一篇可是在半年前呢——《Repractise前端篇: 前端演进史 》。照RePractise惯例,这又是一篇超长文以及个人的扯淡过程。 当然这也是一个神奇的标题,因为我已经想不到一个好的名字了,不过先这样吧。这篇文章算是我最近两三个月的一篇思考。在上一个项目的打杂生涯里,我开始去学习架构方面的知识,开始去接触DDD的思想。从编码到架构,再回到实际的

    • 问题内容: 有人在现实世界中有过经历吗?他们如何比较性能(内存使用情况,速度等)?稳定性? JBoss Seam在Glassfish上是否工作良好? 问题答案: 根据我的经验,有很多事情: GlassFish具有更好的管理控制台(JBoss具有三个控制台,每个控制台都不理想)。 在GlassFish上热部署更可靠 JMS在GlassFish上工作得更好-这适用于GF与JBoss4.X。据我所见,J

    • 以封装为例,我可以想到用户和手机之间的交互。用户不需要知道手机的内部工作情况就可以进行操作,因此这称为抽象。但是封装在这个例子中的什么地方呢?有人能解释一下吗?

    • 我正在学习php中的面向对象编程,我在网上找到的所有例子都没有意义。像动物,自行车等例子对我来说没有意义,我需要现实生活中的日常例子,像验证,CRUD等。 有谁能给出一个实际生活中的日常OOP的php例子,或者建议一篇文章或教程,使我更好地理解OOP