单例Bean是单例模式吗?
-
通常来说,单例模式是指在一个JVM中,一个类只能构造出来一个对象,有很多方法来实现单例模式,比如懒汉模式,但是我们通常讲的单例模式有一个前提条件就是规定在一个JVM中,那如果要在两个JVM中保证单例呢?那可能就要用分布式锁这些技术,这里的重点是,我们在讨论单例模式时,是要考虑范围的。
-
而Spring中的单例Bean也是一种单例模式,只不过范围比较小,范围是beanName,一个beanName对应同一个Bean对象,不同beanName可以对应不同的Bean对象(就算是同一个类也是可以的)。
-
比如:
@Component
public class ZhouyuService {}
以上我们定义了一个单例Bean,beanName为zhouyuService,类型为ZhouyuSe