在我们的团队中,我们在开发一个相当简单的Spring Boot应用程序时进行了一些讨论。因为我们想清楚地分离关注点,所以我们将系统模块化(Maven模块)分为三个模块:
我之前已经完成了一些Spring Boot项目,这是我第一次这样设置。我特别担心将Spring Boot排除在存储库之外是否有意义,因为这将需要我们在Service中手动进行很多连接,例如JDBC,jooq,liquibase等。
有人有这样的建议吗?
答案 0 :(得分:1)
我认为这个问题可能有基于意见的答案。但是...我认为这种分离可以导致开发模型看起来更像旧的瀑布模型,而不是现代的方法。随着微服务方法的教导,我认为最好是垂直关注点分离,在功能区域而不是抽象级别对应用程序进行模块化。在内部,每个模块都应处理与其功能范围相关的所有事情。
我特别担心将Spring Boot排除在存储库之外是否有意义,因为这将需要我们在Service中手动进行大量接线,例如JDBC,jooq,liquibase等。
如果您正确使用TDD框架,那么这应该不是问题。我已经在多模块Maven项目(Spring Boot)中工作,而我从未遇到过任何问题,但是显然这取决于您在项目中的工作。