我见过类似的问题,说采取的方向(java到xsd或xsd到java)取决于你的重点,换句话说,你是在寻找创建完美的模式还是完美的java设计。
但是我很想知道用例是否真的相同。一位同事评论道:“你为什么要从 java 转向 xsd?”,如果你这样做,你就已经创建了一个实现。哪一种确实引出了一个问题,为什么你要从手写java开始,转换为xsd,然后最终转换为生成的java。
要尝试以不同的方式问它,您采取哪条路线(java 到 xsd 或 xsd 到 java)真的很重要,因为最终您需要的工件是 xsd,当并且如果必填。
最佳答案
每种方法都有其优点和缺点:
XML 到 Java:
- PRO:接口(interface)契约是一流的工件。它是明确设计和编码的。 XSD 直接且自然地支持约束的表达(例如元素可以/应该出现的次数)。
- CON:难度。根据我的经验,我发现大多数专业 Java 开发人员往往不熟悉 XML Schema。因此可能会有一个学习曲线。
Java 到 XML:
- PRO:快速、高效的开发。查看 JAX-RS 和 JAX-WS 规范(在 Apache CXF 等工具中实现)。这些 API 将注释应用于 Java 接口(interface)以生成 Web 服务。 Web 服务合约(即 XSD 中的 WDSL/WADL)由 Web 服务框架自动生成。这里的优点是 Java 开发人员可以完全使用 Java 工作。无需学习 XSD。
- CON:因为接口(interface)是生成的,所以它不是一流的工件。它不能轻易地与您的服务的消费者共享。这也意味着 Java 开发人员可能会更改部分 Java 接口(interface),并无意中更改服务契约。我见过这种情况发生。对对象结构的更改(顺便说一句,甚至不是方法签名更改)可以更改 XSD。
关于java - 将 Java 转换为 XSD 的用例与使用 JAXB 将 XSD 转换为 java 的用例是否不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27215058/