admin 管理员组

文章数量: 887032


2024年1月16日发(作者:6到25钢筋重量表)

spring Bean的五种scope

scope用来声明IOC容器中的对象应当处的限定场景或者说该对象的存singleton="fae" / XSD: bean id ="mockObject1"

scope="prototype" / 注重:这里的singleton和设计模式里面的单例模式不一样,标志为singleton的bean是由容器来保证这种类型的活空间,即在IOC容器在对象进入相应的scope之前,生成并装配这些bean在同一个容器内只存在一个分享实例,而单例模式则是保证在同对象,在该对象不再处于这些scope的限定之后,容器通常会销毁这些一个Classloader中只存在一个这种类型的实例。 1. singleton

对象。打个比喻吧!我们都是处在社会(容器)中,假如把中学老师作singleton类型的bean定义,在一个容器中只存在一个实例,全部对为一个类定义,那么当容器初始化这些类之后,中学老师只能局限在中该类型bean的依靠都引用这一单一实例,这就好似每个幼儿园都会有学这个场景中,中学,就可以看做中学老师的scope。 Spring容器最一个滑梯一样,这个幼儿园的小伴侣共同用法这一个滑梯,而对于幼初提供了两种bean的scope类型:singleton和prototype,但发布儿园容器来说,滑梯就是一个singleton的bean。 此外,singleton2.0之后,又引入了另外三种scope类型,即request,session和global

类型的bean定义,从容器启动,到他第一次被哀求而实例化开头,只session类型。不过这三种类型有所限制,只能在web应用中用法,也要容器不销毁或退出,该类型的bean的单一实例就会向来存活。 通就是说,惟独在支持web应用的AppliionContt中用法这三个scope常状况下,假如你不指定bean的scope,singleton便是容器默认的才是合理的。 可以用法bean的singleton或scope属性来指定相应对scope,所以,下面三种配置,形式事实上达成的是同样的效果: DTD

象的scope,其中,scope属性只能在XSD格式的文档生命中用法,类or XSD: bean id ="mockObject1" / DTD: bean id ="mockObject1"

似于如下代码所演示的形式: DTD: bean ="mockObject1"

第 1 页 共 3 页


本文标签: 容器 类型 实例