必威体育Betway必威体育官网
当前位置:首页 > IT技术

Sping 中 singleton(单例)和 prototype(多例) 的理解

时间:2019-10-15 01:12:09来源:IT技术作者:seo实验室小编阅读:76次「手机版」
 

singleton

Singleton:

当一个 bean 的作用域为 singleton(单例)时,IOC 容器中只会存在一个共享的 bean 实例,且所有对bean的请求,只要id与该bean定义相匹配,则只会返回bean的同一实例。也就是说,这个单一实例被存储到单例缓存中,以后所有针对该 bean 的后续请求和引用都返回这个缓存的对象实例,IOC 容器中只存在一个该 bean。

prototype

每一次请求都会产生一个新的 bean 实例(相当于每个用户所产生的 bean 实例都不同)。

对于 prototype 任何配置好的析构生命周期回调方法都不会被调用,清除 prototype 作用域的对象释放资源是客户端代码的职责。

(可以使用 bean 的后置处理器,该处理器持有要被清除的 bean 的引用)

总结:

对有状态的 bean 要使用 prototype 作用域

无状态的 bean 使用 singleton 作用域

有状态的 bean :

每个用户有自己特有的一个实例,一旦用户调用结束或实例结束,bean 的生命期亦结束。

无状态的 bean :

被所有用户所共享,及时用户调用结束或实例结束,bean 的生命期也不一定会停止。所有的变量受到所有调用它的用户的影响(类似于静态声明)。

另:在 Spring boot 中,可以添加 @Scope(“prototype”) 改变为多例(默认为单例)

相关阅读

Python PEP8 编码规范中文版

原文链接:http://legacy.python.org/dev/peps/pep-0008/ item detail PEP 8 Title Style Guide for Python C

windows explore 打开文件夹,并选中文件

QString strSelect = "/select,"; QString path = strfileName;//文件地址 path.replace("/","\\");//将地址中的"/"替换为"\"

有哪些方法可以突出网页中的关键内容?

编者按:我有特别的抢眼技巧!今天的好文非常值得拜读,@飞屋睿UIdesign 同学从对比、色彩、字体、留白等方面帮同学们将最关键的内容

这些面试中的智力题,你都会了吗

转载自   这些面试中的智力题,你都会了吗 1. 给一个瞎子52张扑克牌,并告诉他里面恰好有10张牌是正面朝上的。要求这个瞎子把牌分

打造全新换机体验 苹果携手估吗、中国电信推出“以旧

在5.17世界电信日来临之际,苹果联手国内专业3C产品回收平台“估吗”及中国电信推出“以旧换新”活动,为用户带

分享到:

栏目导航

推荐阅读

热门阅读