spring scope中的单例多例如何选择

Scope Description Interpretation
singleton (Default) Scopes a single bean definition to a single object instance for each Spring IoC container. 不标注scope的情况下默认交给spring管理的都是单例模式。此处的单例模式与设计模式中的单例模式并不是一种概念,设计模式的单例模式目的是始终保证该类有且只有一个实例,而spring中的singleton则是对于所有请求引用都返回同一个实例。
prototype Scopes a single bean definition to any number of object instances. 该模式在此处翻译成多例模式更为确切。该模式的对于所有请求都会返回一个新的实例。

如何选择单例多例?如果程序中,该对象的实例中含有成员变量,且每次调用时其成员变量都可能会发生变更,此时则需要多例模式以保证数据安全(如前端与action交互)。
如果我们仅仅调用实例中的方法,或者我们对于成员变量的调用是一致的(比如获取数据库连接),那么可以使用单例模式节省空间。

猜你喜欢

转载自blog.csdn.net/weixin_44159662/article/details/110420953