转自:
下文笔者讲述spring支持的作用域简介说明,如下所示
spring支持五种作用域,分别为: singleton,prototype,request,session,global session
singleton
单例模式: 在整个Spring IoC容器中 使用singleton定义的Bean将只有一个实例
prototype
原型模式 每次通过容器的getBean方法获取prototype定义的Bean时 都将产生一个新的Bean实例
request
对于每次HTTP请求 使用request定义的Bean都将产生一个新实例 即每次HTTP请求将会产生不同的Bean实例。 当在Web应用中使用Spring时,该作用域才有效
session
对于每次HTTP Session 使用session定义的Bean都产生一个新实例 当在Web应用中使用Spring时,该作用域才有效
globalsession
每个全局的HTTP Session 使用session定义的Bean都将产生一个新实例 仅在使用portlet context的时候有效 当在Web应用中使用Spring时,该作用域才有效
在spring的开发中,
1.singleton和prototype两种作用域是我们常用的作用域,
对于singleton作用域的Bean,每次请求该Bean都将获得相同的实例,spring容器负责跟踪Bean实例的状态,负责维护Bean实例的生命周期行为
对于prototype作用域,程序每次请求该id的Bean,Spring都会新建一个Bean实例,然后返回给程序,此种类型的程序,spring容器不负责bean的实例状态
2.默认情况下,使用singleton作用域