了解Java单例设计模式

时间:2015-04-24 09:43:51

标签: java spring design-patterns

在阅读Spring Framework的文档时,我遇到了以下内容:

  

Spring的单例bean概念与Singleton不同   四人帮(GoF)模式书中定义的模式。 GoF   Singleton硬编码对象的范围,使得只有一个   每个ClassLoader 创建一个特定类的实例 。范围   Spring单例的最好描述为每个容器和每个   豆。

我不明白为什么每个ClassLoader?为什么不对整个应用程序或在上下文中它们被认为是相同的东西?

1 个答案:

答案 0 :(得分:2)

因为在传统的单例中,你在Singleton类中有一个静态变量来保存单个实例。但是,由于您可以使用多个order加载相同的类,因此它们将拥有自己的静态变量,并可以自由创建自己的实例。

在大多数情况下,这不是问题。