spring中bean的5个作用域

bean的5个作用域主要有:singletonprototype,request,session,global session。

Spring容器创建一个Bean实例时,不仅可以完成Bean实例的实例化,还可以为Bean指定特定的作用域。

bean有如下5种作用域:

1、singleton:单例模式,在整个Spring IoC容器中,使用singleton定义的Bean将只有一个实例。

注:spring默认使用单例模式,因为Java在创建Java实例时,需要进行内存申请;销毁实例时,需要完成垃圾回收,这些工作都会导致系统开销的增加。而singleton作用域的Bean实例一旦创建成功,可以重复使用

2、prototype:原型模式,每次通过容器的getBean方法获取prototype定义的Bean时,都将产生一个新的Bean实例

注:prototype作用域Bean的创建、销毁代价比较大。因此,除非必要,否则尽量避免将Bean被设置成prototype作用域。

3、request:对于每次HTTP请求,使用request定义的Bean都将产生一个新实例,即每次HTTP请求将会产生不同的Bean实例。只有在Web应用中使用Spring时,该作用域才有效

4、session:对于每次HTTP Session,使用session定义的Bean豆浆产生一个新实例。同样只有在Web应用中使用Spring时,该作用域才有效

5、global session:每个全局的HTTP Session,使用session定义的Bean都将产生一个新实例。典型情况下,仅在使用portlet context的时候有效。同样只有在Web应用中使用Spring时,该作用域才有效


我的座右铭:不会,我可以学;落后,我可以追赶;跌倒,我可以站起来;我一定行。

  

猜你喜欢

转载自blog.csdn.net/weixin_39220472/article/details/80721927