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.不管是单例还是多例都是为了创建对象,根据实际需求来选择合理搭配

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

  • 相关阅读:
    验证码处理函数
    Apache2.2下载及安装
    centos6.4、6.5、7.0环境下载及安装
    数据库实务 实务隔离级别
    InnoDB 锁
    索引常见问题处理
    数据库索引 B-Tree索引 hash索引
    JVM学习-(2)
    jvm学习-(1)
    linux杂记
  • 原文地址:https://www.cnblogs.com/sun-rain/p/5004557.html
Copyright © 2011-2022 走看看