Spring中的单例一二

  Spring框架很好的帮助我们创建和管理dao、bean、service、action等对象,

但是它创建的对象是单例呢还是多例,又有哪些区别以及为什么

  1.在Spring中默认创建的是单例模式,简单来说就是节省内存开销

  我们都知道每创建一次对象,需要开辟一块内存空间,这个就是多例了,但是这样的话内存开销比较大

如果只创建一个对象,只开辟一块内存空间,所有的用户都共享这个这个对象,这样的设计是不是就很优雅了

  2.如果所有的用户都共享一个对象的话,就会有一个很大的问题

  每一个用户都有自己私有的信息,这些信息是不能一样的,不能大家都叫同一个名字吧

所以我们在配置applicationContext.xml这个的时候需要加上scope="prototype",每个用户创建不一样的实例

  3.这样看来,好像Spring中默认创建的是单例模式是有问题的,我们又能不能既有单例的优点又不影响每个用户的信息

可以的,dao、bean、service这些对象设置成单例的,资源共享,而action对象配置为多例

  4.不管是单例还是多例都是为了创建对象,根据实际需求来选择合理搭配

在开发的过程中经常需要读取配置文件的信息,这样的工具类就可以是单例的

转载于:https://www.cnblogs.com/sun-rain/p/5004557.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值