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定制配置元数据