在Spring中,bean可以被定义为两种模式:prototype(多例)和singleton(单例)

singleton(单例):只有一个共享的实例存在,所有对这个bean的请求都会返回这个唯一的实例。

prototype(多例):对这个bean的每次请求都会创建一个新的bean实例,类似于new。

Spring bean 默认是单例模式。

实战演示:

代码详见上一篇文章中的代码。

在配置文件中,修改这句代码为:

1

在测试类中,修改代码为:

1 ApplicationContext context = new FileSystemXmlApplicationContext("applicationContext.xml");

2 Hi hi1 = (Hi) context.getBean("hi");

3 Hi hi2 = (Hi) context.getBean("hi");

4 System.out.println(hi1);

5 System.out.println(hi2);

结果为:

结论:二个变量指向一个对象。

将配置文件改为:

其他的不变,运行测试类,结果为:

结论:每次访问bean,均创建一个新实例。

java spring 单例_spring怎么实现单例模式?相关推荐

  1. java connection 单例_Java设计模式之单例模式详解

    Java设计模式之单例模式详解 什么是设计模式 设计模式是在大量的实践中总结和理论之后优选的代码结构,编程风格,以及解决问题的思考方式.使用设计模式是为了可重用代码.让代码更容易被他人理解.保证代码可 ...

  2. Spring单例Bean与单例模式的区别

    Spring单例Bean与单例模式的区别在于它们关联的环境不一样,单例模式是指在一个JVM进程中仅有一个实例,而Spring单例是指一个Spring Bean容器(ApplicationContext ...

  3. 转载 spring单例bug

    https://www.cnblogs.com/fengzheng/p/14171443.html 这个 bug 让我更加理解 Spring 单例了 我是风筝,公众号「古时的风筝」,一个兼具深度与广度 ...

  4. 责任链模式 多条链路时 spring单例 造成的深坑

    https://mp.weixin.qq.com/s/ipXPMtPawDdESMJYrYthcQ 一)线上事故: 催收系统每日自动分配案件时一直正常,突然某一天(2018-3-27)以后 案件分配不 ...

  5. java的单例设计模式

    java的单例设计模式包括:饿汉设计模式和懒汉设计模式: 步骤: 1.创建一个对象把他设置为私有的成员变量,保证唯一 2.私有构造方法,防止new一个对象. 3.定义一个公开的静态方法,返回第一步创建 ...

  6. 单例设计模式 序列化破坏单例模式原理解析及解决方案?

    单例设计模式 序列化破坏单例模式原理解析及解决方案? 序列化和反序列化 反射的破坏

  7. spring 单例 获取多例的位_Spring 获取单例流程(一)

    读完这篇文章你将会收获到 在 getBean 方法中, Spring 处理别名以及 factoryBean 的 name Spring 如何从多级缓存中根据 beanName 获取 bean Spri ...

  8. filter java 是单例的吗_JAVA 设计模式之 单例模式详解

    单例模式:(Singleton Pattern)是指确保一个类在任何情况下都绝对只有一个实例,并提供一个全局访问点.单例模式是创建型模式.单例模式在现实生活中应用也非常广泛. 在 J2EE 标准中,S ...

  9. java设计模式 单例_java设计模式一(单例模式singleton)

    1 概述 如果要保证系统里一个类最多只能存在一个实例时,我们就需要单例模式.这种情况在我们应用中经常碰到,例如缓存池.数据库连接池.线程池.一些应用服务实例等.在多线程环境中为了保证实例的唯一性其实并 ...

最新文章

  1. 《大数据的“道”“术”“释”》----读书摘录+思考
  2. asp.net mvc 3 RTM 发布了!
  3. 换个视角,从产品线管理看过去
  4. 人体姿态估计论文总结 (2D + 视频)
  5. Disruptor并发框架-2
  6. python中print怎么用_python的print怎么用
  7. 气动调节阀基本结构图
  8. 【poj3375】 Network Connection
  9. 说说“数据库的自动安装、升级” [转]
  10. 从技术解析到实战演练,三步get文本信息抽取
  11. 做了那么多营销,为什么没有效果?
  12. 彻底禁止Win10自动更新工具Windows Update Blocker v1.5 汉化版
  13. Linux不能识别usbasp,USBasp制作资料及全过程(菜鸟版)
  14. android自定义通知栏_推送图片
  15. JavaWeb-狂神-P11
  16. jquery开发公众号素材管理页面
  17. Kubernetes弃用Docker后怎么办?
  18. 强化学习(二):动态规划与蒙特卡洛方法
  19. 02_Windows和VMware下的Linux共享文件的实现
  20. 物料信用体系建立助力国产铝电解电容器品牌崛起

热门文章

  1. Top1的3D目标检测方法(已开源)
  2. 自动驾驶视觉融合-相机校准与激光点云投影
  3. 一项震动制药行业的研究:大型制药公司AI的生产力
  4. Python求解最速降线问题
  5. 读书笔记:理论生态学原理及应用(一)——合作的机制
  6. 一个带有误差棒的另一个箱图
  7. linux的文本处理(一)
  8. java集合类讲解视频,关于java:实实在在面试List和Map集合面试合集含讲解视频
  9. java word模板替换多行_java poi word模板替换段落的换行显示
  10. Nature子刊:王四宝组揭示按蚊肠道共生菌抗疟的分子机制