我定义了一个 AnnotationSessionFactoryBean 类型的 bean,以便在 Web 应用程序中使用。
如果我没有明确将其定义为“NOT singleton”,那么它一定是“singleton”。
现在,它绑定(bind)到当前线程。
这意味着它不能是单例。
附: Factory 生成的 Session 不是单例,而 SessionFactory 则始终是单例。现在一切都清楚了!
最佳答案
AnnotationSessionFactoryBean
(其父类(super class))定义 isSingleton()
返回 true 的方法。所以SessionFactory
此工厂 bean 返回是单例。
另一方面,Session
那SessionFactory
生成可能是线程绑定(bind)的。
所以你有:
BeanFactory creates SessionFactory creates Session
关于java - AnnotationSessionFactoryBean 和单例作用域 bean(Spring 框架),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2825188/