Spring 框架并没有对单例bean 进行任何多线程的封装处理。关于单例bean 的线程安全和并发问题需要开发者自行去搞定。但实际上,大部分的Spring bean 并没有可变的状态(比如Serview 类和DAO类),所以在某种程度上说Spring 的单例bean 是线程安全的。如果你的bean 有多种状态的话(比如View Model 对象),就需要自行保证线程安全。
最浅显的解决办法就是将多态bean 的作用域由“singleton”变更为“prototype”。
Spring 框架并没有对单例bean 进行任何多线程的封装处理。关于单例bean 的线程安全和并发问题需要开发者自行去搞定。但实际上,大部分的Spring bean 并没有可变的状态(比如Serview 类和DAO类),所以在某种程度上说Spring 的单例bean 是线程安全的。如果你的bean 有多种状态的话(比如View Model 对象),就需要自行保证线程安全。
最浅显的解决办法就是将多态bean 的作用域由“singleton”变更为“prototype”。