我想创建一个最终将 POJO 编组为 xml 的 spring-ws Web 服务。我还希望 Web 服务的客户端将 xml 解组回 POJO。我应该如何构建项目?
目前我的想法是:
- 领域和业务层项目- 具有查询大型机和创建 POJO 的能力。该项目不依赖于以下任何项目,但确实依赖于大型机库。
- Web 服务项目- 实现一个接收请求的 Web 服务,调用项目 1 中的业务逻辑,并从项目 1 返回一个编组的域对象。
- 客户端项目- 调用 Web 服务,接收一些 xml,将 xml 解组为来自项目 1 的域对象。
这个设计的问题是项目 3 依赖于域模型的项目 1,但因此,依赖于大型机库。这与我最初创建 Web 服务的主要原因是松散耦合代码相矛盾。另一方面是将域模型从业务逻辑拆分为单独的项目,但这似乎有点极端。