Spring中的单例bean是线程安全的吗?
Spring并没有对单例bean作线程安全的处理,在并发条件下Spring的bean是否是线程安全的有如下两种情况:
(1)无状态的bean:没有数据存储能力,例如service类和dao类都是无状态的bean,所以是线程安全的。
(2)有状态的bean:有数据存储能力,在并发环境下会发生线程安全问题,需要自行保证线程安全问题,此时可以把bean的作用域由singleton改为prototype(多例bean)从而保证线程安全。
Spring并没有对单例bean作线程安全的处理,在并发条件下Spring的bean是否是线程安全的有如下两种情况:
(1)无状态的bean:没有数据存储能力,例如service类和dao类都是无状态的bean,所以是线程安全的。
(2)有状态的bean:有数据存储能力,在并发环境下会发生线程安全问题,需要自行保证线程安全问题,此时可以把bean的作用域由singleton改为prototype(多例bean)从而保证线程安全。