Spring中支持几种作用域?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring中支持几种作用域?相关的知识,希望对你有一定的参考价值。
参考技术A 7.Spring中支持几种作用域Spring容器中的bean可以分为5个范围:
prototype:为每一个bean请求提供一个实例。
singleton:默认,每个容器中只有一个bean的实例,单例的模式由BeanFactory自身来维护。
request:为每一个网络请求创建一个实例,在请求完成以后,bean会失效并被垃圾回收器回收。
session:与request范围类似,确保每个session中有一个bean的实例,在session过期后,bean会随之失效。
global-session:全局作用域,global-session和Portlet应用相关。当你的应用部署在Portlet容器中工作时,它包含很多portlet。如果你想要声明让所有的portlet共用全局的存储变量的话,那么这全局变量需要存储在global-session中。全局作用域与Servlet中的session作用域效果相同。
解释 Spring 支持的几种 bean 的作用域?
Spring 框架支持以下五种 bean 的作用域:
singleton : bean 在每个 Spring ioc 容器中只有一个实例。
prototype:一个 bean 的定义可以有多个实例。
request:每次 http 请求都会创建一个 bean,该作用域仅在基于 web
的 Spring ApplicationContext 情形下有效。
session:在一个 HTTP Session 中,一个 bean 定义对应一个实例。该
作用域仅在基于 web 的 Spring ApplicationContext 情形下有效。
global-session:在一个全局的 HTTP Session 中,一个 bean 定义对应
一个实例。该作用域仅在基于 web 的 Spring ApplicationContext 情形下有效。
缺省的 Spring bean 的作用域是 Singleton.
以上是关于Spring中支持几种作用域?的主要内容,如果未能解决你的问题,请参考以下文章