spring-bean的作用域(六)

在Spring中,那些组成应用程序的主体及由SpringIOC容器所管理的对象,被称之为bean。简单地讲,bean就是由IOC容器初始化、装配及管理的对象。

配置文件中定义 Bean 时,我们不但可以配置 Bean 的属性值以及相互之间的依赖关系,还可以定义 Bean 的作用域 。作用域会对 Bean 的生命周期和创建方式产生影响 。

Bean 的作用域类型:

类型 说明
singleton 在 Spring 容器中仅存在一个 Bean 实例, Bean 以单例的形式存在,默认值。
prototype 每次从容器中调用 Bean 时,都会返回一个新的实例,即相当于执行 new XxxBean() 的实例化操作。
request 每次 http 请求都会创建一个新的 Bean , 仅用于 WebApplicationContext 环境。request.setAttribute("","")
session 同一个 http Session 共享一个 Bean ,不同的 http Session 使用不同的 Bean,仅用于 WebApplicationContext 环境。session.setAttribute("","")
globalSession 同一个全局 Session 共享一个 bean, 用于 Porlet, 仅用于 WebApplication 环境。application.setAttribute("","")

Spring 以容器的方式,使得我们仅需配置,即可得到天然的单例模式。

在五种作用域中,request、session和globalSession三种作用域仅在web的应用中使用。



猜你喜欢

转载自www.cnblogs.com/xiaoqiqistudy/p/11296715.html