不,Spring框架中的单例bean不是线程安全的。

 

拓展:

Spring作用域(scope)的配置区别:

  • 非线程安全:Singleton(默认): Spring容器只存在一个共享的bean实例。
  • 线程安全:    Prototype: 每次对bean的请求都会创建一个新的bean实例。

使用实例:

  • DAO层的实现类推荐设置scope="singleton",这些类没有状态,只需用singleton只需维护一个实例,可提高性能。
  • Struts2的action类推荐设置scope="prototype",action显然是有状态的,需要每次创建一个新的实例,保证线程安全。

 

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐