程序员社区

【深入Spring】Spring中bean的scope

一.bean的作用域(scope)常见的有两种配置项(单例模式singleton/原型模式prototype)
1.单例模式singleton(默认取值为singleton---对象只创建一次)
<bean id="someService" class="com.bjsxt.service.impl.SomeServiceImpl" scope="singleton">
2.原型模式prototype(每次获取的实例都是一个新实例)
<bean id="someService" class="com.bjsxt.service.impl.SomeServiceImpl" scope="prototype">
二.scope配置项有还有另外3个属性,用于描述不同的作用域。
3.request
该属性仅对HTTP请求产生作用,使用该属性定义Bean时,每次HTTP请求都会创建一个新的Bean,适用于WebApplicationContext环境。
4.session
该属性仅用于HTTP Session,同一个Session共享一个Bean实例。不同Session使用不同的实例。
5.global-session
该属性仅用于HTTP Session,同session作用域不同的是,所有的Session共享一个Bean实例
三.总结

Spring IOC容器创建一个Bean实例时,可以为Bean指定实例的作用域,作用域包括singleton(单例模式)、prototype(原型模式)、request(HTTP请求)、session(会话)、global-session(全局会话)。

singleton和prototype模式,这两个模式的作用域在Spring框架中是经常用到的。对于singleton作用域的Bean,IOC容器每次都返回同一个实例,而prototype作用域的Bean,IOC容器每次产生一个新的实例

赞(0) 打赏
未经允许不得转载:IDEA激活码 » 【深入Spring】Spring中bean的scope

相关推荐

  • 暂无文章

一个分享Java & Python知识的社区