【问题标题】:Spring Data JPA project as dependency of Spring Boot projectSpring Data JPA 项目作为 Spring Boot 项目的依赖项
【发布时间】:2019-07-28 21:22:42
【问题描述】:

我希望有一个使用 Spring Boot 的微服务项目,该项目通过 Spring Data JPA 项目创建的依赖项访问实体和 DAO。这个想法是多个微服务可以获得这种依赖关系。

但是,在Spring Boot Data JPA项目中组装jar时,通过starter依赖包含了很多依赖。它们中的大多数也存在于使用它的 Spring Boot 微服务项目中。

您将如何通过 Spring Data JPA 仅使用实体和存储库构建一个 jar?我还没有找到任何明确的例子来说明如何实现这一点,不确定我是否偏离了我的想法。

提前致谢。

【问题讨论】:

  • 如果你想要一个只有实体和 Spring Data JPA Repositories 的 jar,为什么你首先要在其中安装 Spring Boot?只需将其删除并使用您最喜欢的构建工具构建一个 jar。
  • 作为 spring data jpa 项目的一部分,spring 不是必需的吗?你能指点我一个不是spring boot的spring data jpa项目吗?
  • Spring Framework 是 Spring Data 的一个依赖。 Spring Boot 不是。您可以在没有 Spring Boot 的情况下使用 Spring Data。多年来,甚至没有 Spring Boot。例如,您可以查看 Spring Data JPA 本身的集成测试。

标签: spring-boot spring-data-jpa spring-data microservices dependency-management


【解决方案1】:

在我看来,微服务之间共享域实体在微服务架构中是根本错误的。

请了解领域驱动设计建模。互联网上有很多文章和视频。

Domain Driven Design

Bounded Context

共享意味着没有重复,而是更多的耦合。 重复导致更少的耦合。

【讨论】:

  • 我正在公开第三方数据源。我的许多微服务都需要该数据源进行读取,但微服务本身将负责它们自己的业务流程,这意味着向其中一些表中插入或更新
  • 仍然不能令人信服,我们无法设计一个人会读而其他人会写的微服务。它违背了真理体系。如果任何其他服务想要获取数据,那么它需要服务间通信,考虑事件驱动架构或通过第 7 层获取数据。
猜你喜欢
  • 1970-01-01
  • 2017-03-19
  • 1970-01-01
  • 2021-07-23
  • 2017-11-07
  • 2019-03-14
  • 2015-12-28
  • 2020-09-03
  • 2021-04-05
相关资源
最近更新 更多