我今天早些时候发现这篇文章是关于是否要XSD - > POJO或POJO - >到XSD。
它让我们怀疑我们是否应该在我们的场景中制作XSD。我们假设我们应该编写XSD然后从中生成Java POJO,然后使用这些POJO在我们的REST服务器和客户端之间传输数据。但是,如果我们可以直接用所需的注释直接写POJO,这些XSD有什么价值呢?
我们认为编写自定义XSD GUI工具而不是手动编码XSD可能会有所帮助,这可能是拥有XSD的一个好处。但我假设还有用于创建JAXB bean的GUI工具?
是否值得拥有XSD,代价是在我们的场景中需要在编译之前生成类的额外项目复杂性?
答案 0 :(得分:2)
XML方案相对于一组JAXB注释类的一个好处是,您可以定义“外部”通信伙伴。也许你现在不需要它,但明天呢?
使用XML Schema的另一个好理由是(如果明智地使用)将您的类型限制为容易(未)编组的内容。可以创建难以序列化的POJO类。
iÍ可以想到的第三个原因是你不必学习如何处理所有这些javax.xml.annotation注释类。它可能可能你更熟悉它们(它们甚至可能允许你通过XML Schema方法做一两个技巧)但我通常发现编写XML Schema更方便并观看xjc来处理我的细节。
答案 1 :(得分:1)
这取决于您的要求。在某些情况下,需求(请求/响应可能)是通过XSD文档定义的,因为xsd可以提供构建类所需的所有信息(数据类型等),在这些情况下,直接生成POJO是有帮助的,因为我们已经有一个xsd了。
如果您必须首先编写xsd然后从中生成POJO对象,这可能是您的情况的开销。
看看什么适合你,明智地选择!