我正在学习 Spring 框架,目前正在阅读一本关于它的书。
这本书里说Spring单例与Java单例不同?
这意味着什么以及有什么区别?
谢谢
Java 单例的作用域是 Java 类加载器,Spring 单例的作用域是容器上下文。
这基本上意味着,在 Java 中,您可以确定单例只有在加载它的类加载器的上下文中才是真正的单例。其他类加载器应该能够创建它的另一个实例(前提是这些类加载器不在同一个类加载器层次结构中),尽管您在代码中尽了一切努力来阻止它。
在 Spring 中,如果您可以在两个不同的上下文中加载单例类,那么我们就可以再次打破单例概念。
因此,总而言之,如果 Java 无法在给定的类加载器中创建该类的多个实例,则 Java 将其视为单例;而如果 Spring 无法在给定的容器中创建某个类的多个实例,则将其视为单例。语境。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)