手工编写类和从scheme生成JAXB类的优缺点是什么。我开始新的项目,并希望了解如何选择避免陷阱。
我有复杂的XML结构(基本上是FreeSwitch配置定义),包括不同XML级别上的可重复类型。
JAXB生成的类是值类,它们没有任何功能。为了添加任何功能,您应该使用生成的bean创建自己的类。您还可以扩展或修改生成的bean,我不推荐这样做。我认为这是主要问题之一。
另一方面,从手动注释的bean生成的模式可能不包括所有需要的约束。
这就是为什么我认为没有最好的。你可以根据自己的需要选择两者。
应该使用从模式生成的IMPO类来避免模式和java类之间的任何差异。
由于模式将在接口实体之间共享,因此双方都必须有符合模式的代码。
XmlAdapter
更干净(与http://blog.bdoughan.com/2011/08/xml-schema-to-java-generating.html比较)。 @XmlPath
映射)。对于JAXB,它不需要是一个或另一个类型选择。您可以使用外部绑定文件,以便在clas生成期间,JAXB将使用您为某些复杂类型编写的类,然后让生成的模型的其余部分指向这些类。
实例
使现代化
在JAXB中使用构造函数怎么样?正如我所知,没有puclic构造函数的类是不允许的。这意味着我不能做一些必填字段。是否有适当的方法处理必填字段?
JAXB需要一个可以是私有的无参数构造函数。如果您的类没有无参数构造函数,那么您可以使用XmlAdapter
。
MOXy BeanValide使我能够将验证添加到我的JAXB类中。 使用MOXy的“Bean Validation Plugin”,我可以根据预先存在的模式中的限制/方面在生成的JAXB类中进行Bean验证。 但是,有没有任何方法可以基于JAXB注释的java类的Bean验证注释生成带有限制/facetsb的模式? 在“模式优先”生成java时,XJC有一个方便的插件体系结构,但是是否有任何等效
问题内容: 我已经使用JAXB编写了许多类进行序列化,并且我想知道是否存在一种基于注释为每个对象生成XSD文件的方法。有这个工具吗? 喜欢的东西是 真棒 。有什么可以做的吗? 问题答案: 是的,您可以在JAXBContext上使用该方法: 您可以利用实现控制输出的位置:
我一直在使用 annox 在我的 jaxb 生成的类上添加注释(通过绑定文件),但我找不到直接在包上添加注释的方法(包信息.java)。 我一直在尝试在bindings.xml中这样做: 但是jaxb抱怨说< code>annox:annotate不应该在那里。 还有别的方法吗?
我正在尝试使用Spring 4实现REST服务。 该应用程序使用Java 7构建,并在Tomcat 7上运行。 REST方法将返回JSON格式的customer对象。应用程序是注释驱动的。 Customer类有JAXB注释。Jackson罐子出现在课堂路径中。据我所知,Jackson将使用JAXB注释生成JSON。 客户类别: 我已经将REST服务类注释为@RestController(根据Spr
JAXB为每个属性生成@XmlAttribute注释。例如,属性 转换为带注释的java对象属性 但是,如果属性在名称中没有下划线,则@Xml属性中的名称字段丢失(因此##默认)。我想自定义JAXB绑定,以便也生成没有下划线的名称的注释。有什么建议吗? 谢谢!Johannes
在JavaConfig中定义一个bean与仅仅注释一个类有什么不同? JavaConfig: 带注释的类