`

Spring IOC之Bean的scope属性值:prototype与singleton

阅读更多
  1.如果作用范围设置为scope="singleton",则将Bean放入Spring IOC容器的缓存池中,并将Bean引用返回给调用者,spring IOC继续对这些Bean进行后续的生命管理。默认属性是scope="singleton"。如果在<bean>中指定Bean的作用范围为scope="prototype",将Bean返回给调用者,调用者负责Bean后续生命的管理,Spring不再管理这些Bean的生命周期。

  2.当bean以singleton形态存在时,BeanFactory只管理一个共享的实例。所有对这个特定bean的实例请求,都导致返回这个唯一bean实例的引用。 当bean以prototype形态存在时,每次对这个bean的实例请求都会导致一个新的实例的创建。当用户需要不受其他用户对象影响的对象或有类似的需求时,这是一个较理想的解决办法。

  3.Spring中的singleton与设计模式中的singleton不同。Spring的singleton主要是针对"IoC容器维持一个Bean实例"而言的。设计模式上谈到的Singleton,是指对每个ClassLoader所载入的类产生一个实例。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics