Spring框架参考手册(4.2.6版本)翻译——第三部分 核心技术 6.5 Bean的作用域

Posted tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring框架参考手册(4.2.6版本)翻译——第三部分 核心技术 6.5 Bean的作用域相关的知识,希望对你有一定的参考价值。

6.1 Bean的作用域

当你创建一个Bean的定义,你就为这个Bean定义的类创建了一个配方。Bean的定义是一个配方的想法是重要的,因为这意味着,你可以通过这个配方创建许多对象实例。

您不仅可以控制要插入到从特定bean定义创建的对象的各种依赖项和配置值,还可以控制从特定bean定义创建的对象的作用域。这种方式是强大且灵活的,您可以通过配置选择创建的对象的作用域,而不必在Java类的级别设置对象的作用域。可以将Bean定义为多个作用域中的一个:开箱即用,Spring Framework支持五个作用域,其中三个作用域仅在您使用Web的ApplicationContext时才有用。

开箱即用的作用域有下面几个,你也可以创建自定义作用域。

表6.3 Bean的作用域

作用域

描述

singleton

(默认)Bean定义的作用域为每个Spring IoC容器只拥有一个单一的对象

prototype

Bean定义的作用域为任意数量的对象实例

request

Bean定义的作用域为HTTP请求的生命周期,那就是说,每个HTTP请求拥有自己的Bean的实例。仅在Spring Web的ApplicationContext上下文生效。

session

Bean定义的作用域为HTTP Session的生命周期。仅在Spring Web的ApplicationContext上下文生效。

global session

Bean定义的作用域为HTTP Session的生命周期。一般仅在Portlet上下文使用。仅在Spring Web的ApplicationContext上下文生效。

application

Bean定义的作用域为ServletContext的生命周期。仅在Spring Web的ApplicationContext上下文生效。

注意:从Spring 3.0开始,线程范围可用,但默认情况下未注册。 有关更多信息,请参阅SimpleThreadScope的文档。 有关如何注册此范围或任何其他自定义范围的说明,请参阅“使用自定义范围”一节。

以上是关于Spring框架参考手册(4.2.6版本)翻译——第三部分 核心技术 6.5 Bean的作用域的主要内容,如果未能解决你的问题,请参考以下文章

Spring框架参考手册(4.2.6版本)翻译——第三部分 核心技术 6.4.5 自动装配

Spring框架参考手册(4.2.6版本)翻译——第三部分 核心技术 6.6.3 其他Aware接口

Spring框架参考手册(4.2.6版本)翻译——第三部分 核心技术 6.4.1 依赖注入

Spring框架参考手册(4.2.6版本)翻译——第三部分 核心技术 6.4.2 依赖注入和配置的细节

Spring框架参考手册(4.2.6版本)翻译——第三部分 核心技术 6.8.2 使用BeanFactoryPostProcessor定制配置元数据

Spring框架参考手册(4.2.6版本)翻译——第三部分 核心技术 6.3 Bean概述