我知道,使用JAXB,您可以使用generate Java files from an XSD,也可以使用generate the XSD from annotated POJOs。每种方法的优缺点是什么?一个整体上比另一个更好吗?
我们基本上希望将事件序列化为XML格式的日志。
发布于 2012-10-18 05:03:05
归根结底,这取决于你想关注的地方:
如果XML Schema是最重要的,则为
然后,最好从XML模式开始并生成一个JAXB模型。JAXB (JSR-222)实现无法生成XML模式的一些细节:
如果对象模型是最重要的,则为。
如果您使用Java模型的目的不仅仅是在对象和XML之间进行转换(例如,将它与JPA一起用于持久化),那么我建议您从Java对象开始。这将给你最好的控制。
发布于 2012-10-18 04:42:57
这取决于您的需求和与启动点相关的场景。
根据您的要求,使用generate Java files from an XSD,因为您希望首先定义输出(XML)格式,该格式应由Java支持。
发布于 2012-10-18 04:56:09
考虑到XML的主要特点之一是成为一种可移植的数据传输格式,无论平台或语言如何都可以使用,我将避免从任何特定的编程语言生成XSD,这是经验法则。如果您知道您只在Java端点之间通信,这可能无关紧要(但您确定这将永远是正确的吗?)。
在其他条件相同的情况下,最好以编程语言中立的方式定义接口/模式。
这个原则有很多例外,特别是当你正在与现有的或遗留的代码集成时……
https://stackoverflow.com/questions/12943011
复制相似问题