gpt4 book ai didi

java - 在两个或多个项目之间共享公共(public)代码(例如域类)的最佳方式是什么?

转载 作者:IT老高 更新时间:2023-10-28 20:52:50 25 4
gpt4 key购买 nike

我们正在开发一个由两个 Eclipse 项目组成的 Web 应用程序。一个项目是基于 HTTP 的 RESTful Web 服务;另一个项目是一个网站。两者都将作为 WAR 部署。最初,两者都将部署在同一个应用程序服务器实例下,但最终它们将部署在不同的盒子上。

网站应用使用 RESTful WS 应用。显然,会有两个项目共有的代码——特别是领域类。例如,可能有一个位于 /users 的资源,它公开了对 User 对象的 CRUD 操作;为了更新用户,网站应用程序会将一个 XML 编码的用户对象发布到 /users。对 /users/1 执行 GET 将返回一个 XML 编码的用户对象。

显然,由于各种原因,在这两个项目中都有一个 User 类是非常愚蠢的。所以我想知道解决这个问题的最佳方法是什么?将通用代码放在两个项目之间共享的 JAR 中是我过去所做的,但有没有更好或更简单的方法?

编辑:删除了 RESTful 引用。抛开语义不谈,在两个 Eclipse 项目之间共享公共(public)代码的正确方法是什么?

最佳答案

关注点分离

其实创建第三个项目并添加项目依赖是最好的办法,因为Separation of concerns不仅是类的原则,也是软件模块的原则。它创造了一些优势:

  • 用更少的代码来了解一个项目的原理。
  • 更好的依赖控制,因为你可以省略一些项目间的依赖,这样就不可能使用错误模块的类。
  • 重复代码很糟糕。

项目结构

确保您创建的不是一个大型“实用程序”项目,而是特定领域的项目,例如 用户管理地址簿 .

在你的情况下,它可能是

  • user-api 包含用户转移对象
  • user-service 提供 CRUD 操作
  • webapp(或user-client)调用用户服务。

其他构建系统

当转向持续集成时,您需要使用比 Eclipse 更好的构建系统,但原理是相同的。您将创建依赖最少的小模块。

最流行的 Java 项目构建系统是 Maven , AntGradle .每个都有自己的方式来定义模块依赖关系。

Eclipse 中的项目引用

要告诉 Eclipse 项目依赖关系,右键单击项目,打开属性并切换到项目引用。在这里你可以标记依赖关系,这样代码更改将立即生效,而无需手动复制 JAR 文件。

Project references menu

关于java - 在两个或多个项目之间共享公共(public)代码(例如域类)的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7341962/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com