在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,均创建一个新实例。

最新文章

  1. 程序设计模式浅析(plain framework商业版设计模式)
  2. TCP的连接控制
  3. jquery简单开始
  4. 开源战棋 SLG 游戏框架设计思考(二)规则系统要考虑的因素
  5. Qt写入txt文件方法
  6. ios——视频 MPMoviePlayerController的使用(支持本地和网络)
  7. 叠罗汉I
  8. linux下登陆用户的行为信息—w和who命令详解
  9. js读取Excel文件数据-IE浏览器
  10. JavaScript ,Python,java,Go系列算法之选择排序
  11. win7中调试Hotspot
  12. plsql中文乱码问题
  13. 【HDOJ1045】【DFS】
  14. ORA-06553: PLS-553: character set name is not recognized, while starting Content Store
  15. Linux常用基本命令(chmod)
  16. ViewHolder的标准写法
  17. Spring学习(十九)----- Spring的五种事务配置详解
  18. [luogu4389]付公主的背包(多项式exp)
  19. 单精度浮点数(float)加法计算出错
  20. Connection连接、关闭数据库

热门文章

  1. stm32--FatFs调试过程(SPIFlash)
  2. 链接程序的时候遇到问题:fatal error LNK1104: cannot open file &#39;rctrl-d.lib&#39;
  3. ant-design 实现一个登陆窗口
  4. 27、理解js的继承机制(转载自阮一峰)
  5. 【廖雪峰老师python教程】——filter/sorted
  6. 第十五篇 Python之文件处理
  7. (原创)最小生成树之Prim(普里姆)算法+代码详解,最懂你的讲解
  8. [PocketFlow]解决在coco上mAP非常低的bug
  9. wampserver 安装后 启动失败的解决方法
  10. [leetcode-609-Find Duplicate File in System]