如何管理 Spring 个引导项目之间的共享代码?

How to manage shared code between Spring Boot projects?

所以我在一家公司工作,该公司使用 spring 作为后端,使用 GitLab 作为 CI/CD。我们目前有 2 spring 个使用大量共享代码的项目。主要是 JPA 存储库、模型、DTO 和服务。我们正在寻找一种解决方案,使我们能够更轻松地共享对项目之间共享代码所做的更改。例如,如果我们在项目 A 的存储库中创建一个新查询,我们希望能够在项目 B 中拥有它,而无需诉诸复制和粘贴代码。

欢迎提出任何建议。

我相信@Andrew 的评论足以处理这种情况,所以为了详细解释它,将分享几个可以执行的步骤。

创建一个新项目(common-util) 是否具有 spring 启动功能取决于哪种您想从项目 A 中分离出来的项目。否则,如果您正在寻找 DI 或 JPA 等其他项目,它可能是具有 spring 功能的普通 java 项目。

现在将此项目添加为项目 A 和 B 的依赖项,现在对于您的通用工具中的每个更改,您只需要更新项目 A 和 B 中的最新版本。

通用工具的示例 POM:

<groupId>com.xyz.groupid</groupId>  
<artifactId>common-util</artifactId>  
<version>1.0.0</version>

项目 A 的示例 POM:

<groupId>com.xyz.groupid</groupId>  
<artifactId>A</artifactId>  
<version>1.0.0</version>

<dependency>  
  <groupId>com.xyz.groupid</groupId>  
  <artifactId>common-util</artifactId>  
  <version>1.0.0</version>
</dependency>

项目 B 的示例 POM:

<groupId>com.xyz.groupid</groupId>  
<artifactId>B</artifactId>  
<version>1.0.0</version>

<dependency>  
  <groupId>com.xyz.groupid</groupId>  
  <artifactId>common-util</artifactId>  
  <version>1.0.0</version>
</dependency>