Bean的作用域
Bean的作用域定义了Bean的生命周期,在Spring中,一共定义了5种作用域,分别是singleton、prototype、request、session和globalSession。其中,后3种仅对Web应用程序有效。
Singleton作用域
如果不指定scope,默认值即为scope="singleton"。spring的IoC容器仅为每个Bean创建一个实例并保持Bean的引用。也就是说,每次调用getBean()方法请求某一个Bean时,Spring总是返回相同的Bean实例。(即Spring IoC容器只会创建该bean的唯一一个实例,这也是默认的。该实例就会一直放在缓存里供大家使用。)
代码:
<bean id="date" class="java.util.Date"></bean>
或
<bean id="date" class="java.util.Date" scope="singleton"></bean>
Prototype作用域
prototype即原型,指每次向Spring容器请求获取Bean(将其注入到另一个bean中,或者以程序的方式调用容器的getBean()方法)都返回一个全新的Bean,相对于“singleton”来说就是不缓存Bean,每次都是一个根据Bean定义创建的全新Bean。
代码:
<bean id="date" class="java.util.Date" scope="prototype"></bean>
对于prototype作用域的bean,有一点非常重要,那就是Spring不能对一个prototype bean的整个生命周期负责:容器在初始化、配置、装饰或者是装配完一个prototype实例后,将它交给客户端,随后就不会对该prototype实例进行跟踪引用了。所以,无法对prototype作用域的Bean定义destroy-method,不过仍可以定义init-method。
request作用域
表示每个请求需要容器创建一个全新Bean。比如提交表单的数据必须是对每次请求新建一个Bean来保持这些表单数据,请求结束释放这些数据。
session作用域
表示每个会话需要容器创建一个全新Bean。比如对于每个用户一般会有一个会话,该用户的用户信息需要存储到会话中,此时可以将该Bean配置为web作用域。
globalSession
类似于session作用域,只是其用于portlet环境的web应用。如果在非portlet环境将视为session作用域。
分享到:
相关推荐
Spring 的bean的作用域总结,详细的总结了 Spring 的bean的作用域
讲解了spring的6种作用域:singleton(单例)、non-singleton(也称 prototype),Spring2.0以后,增加了session、request、global session三种专用于Web应用程序上下文的Bean
spring bean 的作用域(scope), SPringle bean的作用域
详解Spring中bean的作用域,一级对action的管理方式,方便对spring有一个深入的了解
Spring Bean 的作用域之间有什么区别:Bean的作用域: 可以通过scope 属性来指定bean的作用域 ①singleton: 默认值。当IOC容器
JSP 中Spring Bean 的作用域详解 Bean元素有一个scope属性,用于定义Bean的作用域,该属性有如下五个值: 1>singleton: 单例模式,在整个spring IOC容器中,单例模式作用域的Bean都将只生成一个实例。一般Spring...
如果bean的作用域的属性被声明为 singleton, 那么Spring Ioc容器只会创建一个共享的bean实例。对于所有的bean请求,只要id与该bean定义的相匹配,那么Spring在每次...注意,singleton作用域是Spring中的缺省作用域。
JSP 中Spring Bean 的作用域详解.docx
01.Spring Bean的作用域代码
主要介绍了Spring实战之Bean的作用域request用法,结合实例形式分析了spring中Bean的request作用域相关使用技巧与操作注意事项,需要的朋友可以参考下
主要给大家介绍了Spring中Bean的生命周期和作用域及实现方式的相关资料,文中介绍的非常详细,对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
使用了ApplicationContextAware接口,获取spring管理的bean; 多项目整合夸spring容器获取bean的实现方式。
主要介绍了浅谈Spring中Bean的作用域、生命周期,具有一定借鉴价值,需要的朋友可以参考下
主要介绍了Spring实战之Bean的作用域singleton和prototype用法,结合实例形式分析了Bean的作用域singleton和prototype相关使用方法及操作注意事项,需要的朋友可以参考下
07_SSM面试题_Spring Bean的作用域之间有什么区别
Spring容器中Bean的作用域编程开发技术共3页.pdf.zip
主要介绍了SPRING FRAMEWORK BEAN作用域和生命周期原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
* * * * Bean的作用域 作用域的种类 Spring 4.3中为Bean的实例定义了7种作用域,如下表所示: 注意:在上表7种作用域中,singleton和prototype是最常用的两种作用域。 在Spring配置文件中,可以使用<bean>元素的...
详解Spring中bean的scope以后使用,如何使用spring的作用域: