zoukankan      html  css  js  c++  java
  • Spring中的单例一二

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

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

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

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

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

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

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

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

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

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

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

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

  • 相关阅读:
    二柱子在线答题
    SWUST OJ(952)
    SWUST OJ (943)
    FileZilla 客户端连接 FlieZilla 服务器 连接成功读取目录列表却失败的解决办法
    串的模式匹配算法 ------ KMP算法
    lvalue require as increment operand
    c 语言连续输入字符型数据
    [pat]数素数
    [PAT]数字分类
    HDOJ_4540_威威猫系列故事——打地鼠
  • 原文地址:https://www.cnblogs.com/sun-rain/p/5004557.html
Copyright © 2011-2022 走看看