java - 在服务类中导入 jersey 和 jax-rs 是否被认为是不好的做法

标签 java jakarta-ee jax-rs

我正在处理新项目,代码一团糟。我们做了一些重构,要求之一是服务层不会导入任何 jax-rs 包。如果不完全重写 Controller 中的方法(而不是将它们按原样移动到服务中),则很难实现这一目标,因为代码就像一根紧密耦合的意大利面条。这是一个合理的要求吗?

最佳答案

您可能希望应用六角形(端口和适配器)架构原则来分离高层关注点,例如:

  • 应用服务层,包含应用服务接口(interface)及其实现。
  • 包含 Controller 接口(interface)(取决于 JAX-RS API)及其实现(取决于 Jersey 等 JAX-RS API 实现)的开放主机服务层:实现仅适当使用应用程序服务接口(interface)。

我建议您引用这本书以了解更多详细信息: «Implementing Domain-Driven Design», 1st Edition, Vaughn Vernon 。考虑使用关键字:“应用程序服务”、“开放主机服务”、“六角形”、“端口和适配器”。

关于java - 在服务类中导入 jersey 和 jax-rs 是否被认为是不好的做法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45566381/

相关文章:

java - 如何在 Espresso 中等待异步事件?

java - JBoss 编译但启动时出现 NoClassDefFoundError

java - resteasy 客户端的自定义 Jackson 序列化程序

java - 当 REST 客户端和服务器在同一台服务器上时如何避免网络调用

java - 从 JAX-RS 中的 JSON 请求获取简单的 JSON 参数

java - 检测ajax请求调用

java - 在 Spring Boot 中将 .csv 文件上传到数据库

java - JFrame 大小不正确

java - 字符串压缩循环逻辑

java - 可用于调试 Java 应用程序中的生产问题的工具