学科分类
目录
SSM框架

作用域的种类

Spring 4.3中为Bean的实例定义了7种作用域,这7种作用域及其说明如表1所示。

表1 Bean的作用域

作用域名称 说明
singleton(单例) 使用singleton定义的Bean在Spring容器中将只有一个实例,也就是说,无论有多少个Bean引用它,始终将指向同一个对象。这也是Spring容器默认的作用域。
prototype(原型) 每次通过Spring容器获取的prototype定义的Bean时,容器都将创建一个新的Bean实例。
request 在一次HTTP请求中,容器会返回该Bean的同一个实例。对不同的HTTP请求则会产生一个新的Bean,而且该Bean仅在当前HTTP Request内有效。
session 在一次HTTP Session中,容器会返回该Bean的同一个实例。对不同的HTTP请求则会产生一个新的Bean,而且该Bean仅在当前HTTP Session内有效。
globalSession 在一个全局的HTTP Session中,容器会返回该Bean的同一个实例。仅在使用portlet上下文时有效。
application 为每个ServletContext对象创建一个实例。仅在Web相关的ApplicationContext中生效。
websocket 为每个websocket对象创建一个实例。仅在Web相关的ApplicationContext中生效。

在表1的7种作用域中,singleton和prototype是最常用的两种,在接下来的两个小节中,将会对这两种作用域进行详细的讲解。

点击此处
隐藏目录