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

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

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

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

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

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

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

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

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

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

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

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

最新文章

  1. lock
  2. WPF(WP7、WP8)实现圆形图片
  3. ubantu安装sogou输入法
  4. 算法题解之math类题
  5. QT在windows下实现截屏操作并保存为png图片
  6. 第十二届浙江省大学生程序设计大赛-Demacia of the Ancients 分类: 比赛 2015-06-26 14:39 30人阅读 评论(0) 收藏
  7. Nutch 2.2+MySQL+Solr4.2实现网站内容的抓取和索引
  8. jQuery 简单归纳总结
  9. 基于ProGuard-Maven-Plugin的自定义代码混淆插件
  10. python小技巧
  11. 敏捷开发(十一)- Scrum Sprint评审会议
  12. JavaSE(五)JAVA对象向上转型和向下转型
  13. webapi读取上传的文件流
  14. opencv 增强现实(一):特征点检测
  15. oracle11g的监听配置文件中的program和env两个配置,必须干掉,客户端才能正常连接
  16. 服务发现:Zookeeper vs etcd vs Consul 参考自http://dockone.io/article/667
  17. [UE4]蓝图的颜色
  18. OSGI企业应用开发(二)Eclipse中搭建Felix运行环境
  19. 运用visual studio进行简单的单元测试
  20. Linux Centos7中MySql安装

热门文章

  1. SQL错误码
  2. express-10 表单处理
  3. 豆制品厂开车超市送货智能手持PDA POS打票机-手持票据打印机
  4. Delphi7 客户端调用WebService(天气预报)
  5. 静态成员函数(面向对象的static关键字)
  6. 非传统题【A002】
  7. http://www.cnblogs.com/meiCode/p/5896239.html
  8. Docker安装RStudio
  9. .htaccess 的写法
  10. jquery.cookie.js使用