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

Ume*_*thi 33 spring

我正在通过其官方文档阅读spring,并且在一个地方,我来到了一个使用原型范围的所有statefull bean而不是无状态bean的单例.

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

任何人都可以解释一下这在春天的状态和无状态bean的确切含义

提前致谢

Ara*_*ram 49

从春天的角度来看

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

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

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

  • @Pangea我不明白的一件事是,当单例bean处于共享状态时,为什么它们被称为无状态?无论如何,他们将维护共享变量的状态. (4认同)
  • 无状态不是单身!它们是池化的,您不必处理并发 (2认同)