Spring语境中的有状态bean和无状态bean

时间:2010-12-22 04:49:10

标签: spring

我正在通过其官方文档阅读Spring,并且在一个地方我找到了一条线,它使用原型范围用于所有statefull bean而单独用于无状态bean。

我知道EJB中有一些状态和无状态bean,但这不是他们在文档中提到的。

任何人都可以向我解释一下Spring中的statefull和无状态bean究竟是什么意思

提前致谢

2 个答案:

答案 0 :(得分:47)

从春天的角度来看

  • 无状态bean:单例并且只初始化一次的bean。他们唯一拥有的州是共享国家。正在初始化ApplicationContext时创建这些bean。将在此ApplicationContext的生命周期内返回/注入SAME bean实例。

  • 有状态bean:可以携带状态的bean(实例变量)。每次需要对象时都会创建这些对象(比如在java中使用“new”运算符)。

这些不是EJB statfull /无状态会话bean。

答案 1 :(得分:0)

这完全取决于实现。例如参见http://tomee.apache.org/statelesscontainer-config.html。您必须检入服务器文档