spring的singleton和prototype

1.singleton:单例模式指的是无状态bean,spring IOC容器中只会有一个共享的Bean,每次getBean时获取的都是同一个对象,是线程不安全的
2.prototype:原型模式每次使用时创建,每次getBean时都生成一个新的对象,有状态Bean,与其他作用域相比,Spring并不管理原型bean的完整生命周期。容器实例化、配置和组装一个原型对象,并将其传递给客户端,而不需要进一步缓存该原型实例。因此,尽管初始化生命周期回调方法在所有对象上都被调用,而不管作用域如何,但在原型的情况下,配置的销毁回调方法不会被调用。客户端代码必须清理原型作用域对象,并释放原型bean所持有的资源。要让Spring容器释放由原型作用域bean持有的资源,需要使用自定义bean后处理器,它保存了对需要清理的bean的引用。
看起来,似乎比单例模式要复杂,因为这种方式会不断创建实例,如果不进行清除,最终会导致资源耗尽。
应用场景
1.代替new 实例化对象
2.资源不可共享,保证资源的安全性(某些情况下,需要每次获得处于某个状态的对象,但在每次使用后状态会发生变化)

加粗样式

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值