Spring bean默认为单例模式会引发并发问题吗

在web项目中使用spring,如果网站同时很多人访问,这时候使用spring默认的单例模式的bean是否合适呢?回不回影响效率或者产生交叉呢? 

 

Spring默认的单例模式的bean,因为是单例的,所以会避免不断的创建新的实例从而导致并发量很大时垃圾回收效率低的问题。也有缺点,就是状态不好管理,也就是说bean里面的全局变量不好管理,因为这样很容易会导致多线程问题。 

一般来说我们用Spring管理的类一般是各种Service类,无需设计成有状态的bean,而状态最好不要在bean里面保存,因为集群环境下bean管理的状态会有问题。可以考虑使用缓存或者数据库来管理状态。 

综上:Spring默认的单例模式适用于绝大多数场景,并且效率也很高,而只有极特殊的场景下我们可以考虑采用其他的作用域,这个也不好举例了。

 

很详细的讲bean的作用域的文章

http://jinnianshilongnian.iteye.com/blog/1415463

posted @ 2018-01-10 22:02  Jacck  阅读(1278)  评论(0编辑  收藏  举报