Re: 有关 EJB3,无状态会话Bean 与 Spring 依赖注入 Singleton 的困惑!

[quote]
这就是我的困惑所在。我们都知道,可以用无状态的 Singleton 来封装一些领域服务。比如说,UserService,就可以是一个 Singleton class。在实际使用时,可以用 IoC 容器的依赖注入方法得到它的一个(全 JVM 唯一的)Singleton 实例,然后再调用它里面的方法,比如说:
[/quote]

Singleton 并不是这样的吧 他只是在 servletcontext里面保存了这么一份 beans
每个request过来的时候,使用的是threadlocal
threadlocal 可以说是“拷贝”了 servletcontext里面的beans
可以说是一个副本
这样可以保证多个request使用的beans互相不影响(具体可以理解一下threadlocal )

threadlocal 的实现本身就类似 对象池 ,不过这个东西是语言支持的,而不是自己来实现的。
你说的synchronize 在一般bean上都不会起作用,原理也是这样 用的根本不是同一个对象(static得注意),除非在同一个request中存在多次调用产生 synchronize 现象。

[quote](全 JVM 唯一的)Singleton 实例[/quote] 是否你的理解出偏差了呢?
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值