概述
Spring作为一个IoC容器,管理了Spring中所有的bean,但它并不保证其bean的线程安全,需要开发者自己实现线程安全。
Spring
Spring为每个Bean提供了scope属性用来表示该Bean的作用域,指定该Bean的生命周期 :singleton或prototype。
- 当scope为singleton(默认值)时,该Bean第一次被创建时,被注入到IoC容器中,并一直作用到应用结束,即与IoC容器的生命周期一致。
- 当scope为prototype时,该Bean每一次被创建时,都会被注入到IoC容器中。
Spring中的对象都是无状态对象:不会因为多线程间调用而发生状态改变,即线程安全。其非常适合Spring的默认scope:singleton单例。