bean的scope

  1. singleton, scope默认值为singleton

《spring揭秘》读书笔记三

 spring容器中 scope='singleton'与单例模式不是一个意思。标记为singleton的bean是由容器来保证这种类型的bean在同一个容器中只存在一个共享实例;而Singleton模式则是保证在同一个Classloader中只存在一个这种类型的实例。

  可以从两个方面来看待singleton的bean所具有的特性。

     1). 对象实例数量。 singleton类型的bean定义,在一个容器中只存在一个共享实例,所有对该类型bean的依赖都引用这一单一实例。
    2). 对象存活时间。 singleton类型bean定义, 从容器启动,到它第一次被请求而实例化开始,只要容器不销毁或者退出,该类型bean的单一实例就会一直存活。

2. prototype

   针对声明为拥有prototype scope的bean定义,容器在接到该类型对象的请求的时候,会每次都重新生成一个新的对象实例给请求方。 容器每次返回给请求方一个新的对象实例之后,容器就不再拥有当前返回对象的引用,就任由这个对象实例“自生自灭”了。

  对于那些请求方不能共享使用的对象类型,应该将其bean定义的scope设置为prototype。这样,每个请求方可以得到自己对应的一个对象实例。通常,声明prototype的scope的bean定义类型,都是一些有状态的,比如保存每个顾客信息的对象

《spring揭秘》读书笔记三

   
 

 

 

 

 

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-13
  • 2021-12-03
  • 2021-11-04
  • 2022-02-02
  • 2021-12-11
猜你喜欢
  • 2021-06-12
  • 2022-12-23
  • 2021-12-13
  • 2021-06-18
  • 2022-01-05
  • 2021-11-29
  • 2021-11-30
相关资源
相似解决方案