spring 管理的bean默认是单例的,可通过 scope 属性设置scope=”singleton” 默认是单例,可修改为scope=”prototype” 此时将不再是单例模式 spring bean默认是饿汉式 初始化时就会创建bean的实例,另外spring的单例时相对于spring容器, 设计模式中的单例模式时相对于JVM, JVM可以有多个容器。 所以spring使用中是线程安全的。除非定义了全局变量比如这里写图片描述
此时add方法就会出现线程不安全的问题。

spring mvc 模式中 service dao 类似于是controller 的成员变量,所以是线程安全的,并且不会堵塞

Sevlet也是类似的设计,单例多线程,如果不定义全局变量则是线程安全,有全局变量时需考虑线程安全问题

Logo

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

更多推荐