Spring学习之路——单例模式和多例模式
2024-08-27 00:22:56
在Spring中,bean可以被定义为两种模式:prototype(多例)和singleton(单例)
singleton(单例):只有一个共享的实例存在,所有对这个bean的请求都会返回这个唯一的实例。
prototype(多例):对这个bean的每次请求都会创建一个新的bean实例,类似于new。
Spring bean 默认是单例模式。
实战演示:
代码详见上一篇文章中的代码。
在配置文件中,修改这句代码为:
<bean id="hi" class="com.test.Hi" init-method="init" scope="singleton">
在测试类中,修改代码为:
ApplicationContext context = new FileSystemXmlApplicationContext("applicationContext.xml");
Hi hi1 = (Hi) context.getBean("hi");
Hi hi2 = (Hi) context.getBean("hi");
System.out.println(hi1);
System.out.println(hi2);
结果为:
结论:二个变量指向一个对象。
将配置文件改为:
<bean id="hi" class="com.test.Hi" init-method="init" scope="prototype">
其他的不变,运行测试类,结果为:
结论:每次访问bean,均创建一个新实例。
最新文章
- 程序设计模式浅析(plain framework商业版设计模式)
- TCP的连接控制
- jquery简单开始
- 开源战棋 SLG 游戏框架设计思考(二)规则系统要考虑的因素
- Qt写入txt文件方法
- ios——视频 MPMoviePlayerController的使用(支持本地和网络)
- 叠罗汉I
- linux下登陆用户的行为信息—w和who命令详解
- js读取Excel文件数据-IE浏览器
- JavaScript ,Python,java,Go系列算法之选择排序
- win7中调试Hotspot
- plsql中文乱码问题
- 【HDOJ1045】【DFS】
- ORA-06553: PLS-553: character set name is not recognized, while starting Content Store
- Linux常用基本命令(chmod)
- ViewHolder的标准写法
- Spring学习(十九)----- Spring的五种事务配置详解
- [luogu4389]付公主的背包(多项式exp)
- 单精度浮点数(float)加法计算出错
- Connection连接、关闭数据库
热门文章
- stm32--FatFs调试过程(SPIFlash)
- 链接程序的时候遇到问题:fatal error LNK1104: cannot open file &#39;rctrl-d.lib&#39;
- ant-design 实现一个登陆窗口
- 27、理解js的继承机制(转载自阮一峰)
- 【廖雪峰老师python教程】——filter/sorted
- 第十五篇 Python之文件处理
- (原创)最小生成树之Prim(普里姆)算法+代码详解,最懂你的讲解
- [PocketFlow]解决在coco上mAP非常低的bug
- wampserver 安装后 启动失败的解决方法
- [leetcode-609-Find Duplicate File in System]