是的,你是对的。 Spring中的@Scope("prototype")
注释并没有由GoF实现原型设计模式。虽然原型设计模式通过克隆给定的原型来创建新对象(参见here),但Spring @Scope("prototype")
将不会这样做。它每次都会通过Spring的默认对象创建机制创建一个新对象(我猜这是反射)。如果你看一下Spring的文档,它就会说@Scope("prototype")
是Java new
运算符的替代品:
在某些方面,Spring容器的作用是关于
prototype-scoped bean是Java new运算符的替代品。
(见here)