多模块项目中的Sprint Boot

时间:2018-10-01 14:53:57

标签: java spring spring-boot

在我们的团队中,我们在开发一个相当简单的Spring Boot应用程序时进行了一些讨论。因为我们想清楚地分离关注点,所以我们将系统模块化(Maven模块)分为三个模块:

  • Service :具有Spring Boot依赖项,取决于 Model 存储库
  • 模型:仅具有域类和“服务”类( Spring Boot依赖项)
  • 存储库:仅具有JDBC访问逻辑(取决于 Model Spring Boot依赖项)

我之前已经完成了一些Spring Boot项目,这是我第一次这样设置。我特别担心将Spring Boot排除在存储库之外是否有意义,因为这将需要我们在Service中手动进行很多连接,例如JDBC,jooq,liquibase等。

有人有这样的建议吗?

1 个答案:

答案 0 :(得分:1)

我认为这个问题可能有基于意见的答案。但是...我认为这种分离可以导致开发模型看起来更像旧的瀑布模型,而不是现代的方法。随着微服务方法的教导,我认为最好是垂直关注点分离,在功能区域而不是抽象级别对应用程序进行模块化。在内部,每个模块都应处理与其功能范围相关的所有事情。

  

我特别担心将Spring Boot排除在存储库之外是否有意义,因为这将需要我们在Service中手动进行大量接线,例如JDBC,jooq,liquibase等。

如果您正确使用TDD框架,那么这应该不是问题。我已经在多模块Maven项目(Spring Boot)中工作,而我从未遇到过任何问题,但是显然这取决于您在项目中的工作。