【问题标题】:Why creation of repository beans need a datasource bean during start-up为什么在启动期间创建存储库 bean 需要数据源 bean
【发布时间】:2020-06-09 14:42:52
【问题描述】:

我正在使用 Spring Boot 开发一个 Spring-data-jpa 项目,我看到创建存储库 bean 需要存在一个数据源 bean,为什么会这样?

并且可以在没有数据源 bean 的情况下创建存储库 bean。

【问题讨论】:

    标签: spring hibernate spring-data-jpa


    【解决方案1】:

    存储库的目的是将数据加载并保存到持久存储中。 Spring Data JPA 使用 JPA 执行此操作,因此它需要一个 EntityManager,而后者又需要一个 DataSource

    严格来说,DataSource 仅在实际访问数据库时使用。 虽然您肯定需要一个 DataSource bean,但您可以通过提供一个包装器来延迟普通 DataSource 的构建,该包装器在稍后的时间点实例化实际的 DataSource

    DelegatingDataSource 可能会有所帮助,无论是作为基础类,还是因为您要将 DataSource 更改为实现模板。

    查看一些相关的问题https://stackoverflow.com/a/61208585/66686

    【讨论】:

      猜你喜欢
      • 2018-11-08
      • 1970-01-01
      • 1970-01-01
      • 2016-05-01
      • 2018-08-17
      • 2019-04-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多