Spring中的单例一二
2024-09-27 00:48:37
Spring框架很好的帮助我们创建和管理dao、bean、service、action等对象,
但是它创建的对象是单例呢还是多例,又有哪些区别以及为什么
1.在Spring中默认创建的是单例模式,简单来说就是节省内存开销
我们都知道每创建一次对象,需要开辟一块内存空间,这个就是多例了,但是这样的话内存开销比较大
如果只创建一个对象,只开辟一块内存空间,所有的用户都共享这个这个对象,这样的设计是不是就很优雅了
2.如果所有的用户都共享一个对象的话,就会有一个很大的问题
每一个用户都有自己私有的信息,这些信息是不能一样的,不能大家都叫同一个名字吧
所以我们在配置applicationContext.xml这个的时候需要加上scope="prototype",每个用户创建不一样的实例
3.这样看来,好像Spring中默认创建的是单例模式是有问题的,我们又能不能既有单例的优点又不影响每个用户的信息
可以的,dao、bean、service这些对象设置成单例的,资源共享,而action对象配置为多例
4.不管是单例还是多例都是为了创建对象,根据实际需求来选择合理搭配
在开发的过程中经常需要读取配置文件的信息,这样的工具类就可以是单例的
最新文章
- lock
- WPF(WP7、WP8)实现圆形图片
- ubantu安装sogou输入法
- 算法题解之math类题
- QT在windows下实现截屏操作并保存为png图片
- 第十二届浙江省大学生程序设计大赛-Demacia of the Ancients 分类: 比赛 2015-06-26 14:39 30人阅读 评论(0) 收藏
- Nutch 2.2+MySQL+Solr4.2实现网站内容的抓取和索引
- jQuery 简单归纳总结
- 基于ProGuard-Maven-Plugin的自定义代码混淆插件
- python小技巧
- 敏捷开发(十一)- Scrum Sprint评审会议
- JavaSE(五)JAVA对象向上转型和向下转型
- webapi读取上传的文件流
- opencv 增强现实(一):特征点检测
- oracle11g的监听配置文件中的program和env两个配置,必须干掉,客户端才能正常连接
- 服务发现:Zookeeper vs etcd vs Consul 参考自http://dockone.io/article/667
- [UE4]蓝图的颜色
- OSGI企业应用开发(二)Eclipse中搭建Felix运行环境
- 运用visual studio进行简单的单元测试
- Linux Centos7中MySql安装