在Spring中,从BeanFactory或ApplicationContext取得的实例被默认为Singleton,也就是默认每一个Bean名称只维持一个实例。scope属性预设是"singleton",通过将其设置为"prototype",使得每次指定名称来取得Bean时,都会产生一个新的实例。也可以设置"singleton"属性为true或false,来设置以Singleton的方式产生实例,这种方式主要与以前的版本兼容而保留的。
Spring的Singleton主要是针对"一个IoC容器维持一个Bean实例"而言的。与设计模式上谈到的Singleton不同,设计模式上谈到的Singleton,是指对每个ClassLoader所载入的类产生一个实例。
Spring2.0中,scope除了可以设置"singleton" 与"prototype"之外,针对Web应用程序环境,还可以设置"request"、"session"与"globalSession",分别表示请求阶段、会话阶段与基于Portlet的Web应用程序会话阶段。
spring的userBean的作用域有哪些,分别是什么,区别又是什么?
最新推荐文章于 2024-05-27 12:31:14 发布
本文深入探讨了Spring框架中Bean的管理机制,重点解释了默认的Singleton作用域及如何通过scope属性实现Prototype作用域。同时介绍了Spring2.0新增的作用域如request、session等,适用于Web应用环境。
158

被折叠的 条评论
为什么被折叠?



