【发布时间】:2020-06-09 14:42:52
【问题描述】:
我正在使用 Spring Boot 开发一个 Spring-data-jpa 项目,我看到创建存储库 bean 需要存在一个数据源 bean,为什么会这样?
并且可以在没有数据源 bean 的情况下创建存储库 bean。
【问题讨论】:
标签: spring hibernate spring-data-jpa
我正在使用 Spring Boot 开发一个 Spring-data-jpa 项目,我看到创建存储库 bean 需要存在一个数据源 bean,为什么会这样?
并且可以在没有数据源 bean 的情况下创建存储库 bean。
【问题讨论】:
标签: spring hibernate spring-data-jpa
存储库的目的是将数据加载并保存到持久存储中。
Spring Data JPA 使用 JPA 执行此操作,因此它需要一个 EntityManager,而后者又需要一个 DataSource。
严格来说,DataSource 仅在实际访问数据库时使用。
虽然您肯定需要一个 DataSource bean,但您可以通过提供一个包装器来延迟普通 DataSource 的构建,该包装器在稍后的时间点实例化实际的 DataSource。
DelegatingDataSource 可能会有所帮助,无论是作为基础类,还是因为您要将 DataSource 更改为实现模板。
【讨论】: