spring 中bean对象是单例的。。

“单例模式”  “spring单例bean”  “多例模式”  需要放在一起理解,特别是前两者。

 

单例模式:保证系统中一个类只能构建一个对象。

spring单例bean:表示Spring Bean容器(ApplicationContext)中仅有一个实例。

So,单例模式和spring单例的区别在于他们“作用域”(即关联范围不一样,一个是JVM一个是容器)。

感谢XX博主的解释:https://blog.csdn.net/yiifaa/article/details/74852425

 

JVM进程  》》容器  》》bean实例

一个JVM进程(理论上一个运行的java程序必定有自己的一个JVM进程);多个容器就可以有多个对象了,他们在各自的容器中仍然是唯一的单例的。

【多个容器的演示】

//  第一个Spring Bean容器
ApplicationContext context_1 = new FileSystemXmlApplicationContext("classpath:/ApplicationContext.xml");
Person yiifaa_1 = context_1.getBean("yiifaa", Person.class);
//  第二个Spring Bean容器
ApplicationContext context_2 = new FileSystemXmlApplicationContext("classpath:/ApplicationContext.xml");
Person yiifaa_2 = context_2.getBean("yiifaa", Person.class);
//  这里绝对不会相等,因为创建了多个实例
System.out.println(yiifaa_1 == yiifaa_2);
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值