不,Spring框架中的单例bean不是线程安全的。
拓展:
Spring作用域(scope)的配置区别:
- 非线程安全:Singleton(默认): Spring容器只存在一个共享的bean实例。
- 线程安全: Prototype: 每次对bean的请求都会创建一个新的bean实例。
使用实例:
- DAO层的实现类推荐设置scope="singleton",这些类没有状态,只需用singleton只需维护一个实例,可提高性能。
- Struts2的action类推荐设置scope="prototype",action显然是有状态的,需要每次创建一个新的实例,保证线程安全。
所有评论(0)