java - AnnotationSessionFactoryBean 和单例作用域 bean(Spring 框架)

标签 java hibernate spring session

我定义了一个 AnnotationSessionFactoryBean 类型的 bean,以便在 Web 应用程序中使用。

如果我没有明确将其定义为“NOT singleton”,那么它一定是“singleton”。

现在,它绑定(bind)到当前线程。

这意味着它不能是单例。

附: Factory 生成的 Session 不是单例,而 SessionFactory 则始终是单例。现在一切都清楚了!

最佳答案

AnnotationSessionFactoryBean (其父类(super class))定义 isSingleton()返回 true 的方法。所以SessionFactory此工厂 bean 返回单例。

另一方面,SessionSessionFactory生成可能是线程绑定(bind)的。

所以你有:

BeanFactory creates SessionFactory creates Session

关于java - AnnotationSessionFactoryBean 和单例作用域 bean(Spring 框架),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2825188/

相关文章:

java - 有效地将十六进制转换为二进制

java - Thorntail-示例/API 不兼容

java - session.get() 在 hibernate 状态下返回 null

java - @DataJpaTest 不读取 spring.jpa.* 属性,而 @SpringBootTest 读取

java - RabbitMq Spring Boot 部署 docker

java - 抽象方法的标准可见性

java - ORM 过程中类名重要吗?

java - 无法将数据库状态与 hibernate 中的 session 异常同步

node.js - 使用 NodeJS,如何使用 Spring Security OAuth2 制作的 JWT 检索存储在 PostgreSQL 中的 session 信息?

java - Json将String中的&转换为\u0026