热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

关于java:JAXB:第三方或外部超类上的@XmlTransient

JAXB:@XmlTransientonthird-partyorexternalsuperclass


JAXB: @XmlTransient on third-party or external super class


我需要一些有关 JAXB 2.1 的以下问题的帮助。

示例:我创建了一个扩展抽象类 Person 的 SpecialPerson 类。

现在我想使用 JAXB 将我的对象结构转换为 XML 模式。因此,我不希望 Person XML 类型出现在我的 XML 模式中以保持模式简单。相反,我希望 Person 类的字段出现在 SpecialPerson XML 类型中。

通常我会将类级别的注释@XmlTransient 添加到Person 代码中。

问题是 Person 是第三方类,我无法在此处添加 @XmlTransient。我如何告诉 JAXB 它应该忽略 Person 类而不注释该类。是否可以以某种方式在外部进行配置?

你以前有过同样的问题吗?任何想法这个问题的最佳解决方案是什么?


好的,这是你知道的。最后,在筛选了许多博客帖子之后,这就是我所做的,

像这样在\'third-party class\'包中添加了一个package-info.java类,

@javax.xml.bind.annotation.XmlAccessorType(javax.xml.bind.annotation.XmlAccessType.NONE)

包第三方包;

就我而言,它只是一个包裹,所以很容易。显然,您必须为每个单独的包结构执行此操作。我还没有尝试在主包级别进行此操作。



相关讨论





  • 好的,任何人都可以举一个这个解决方案的例子吗?它似乎对我不起作用。扩展 Observable 类和 observable 显示在生成的 xsd 中。那我该怎么办?创建一个包 java.util 并将 package-info.java 类与注释一起放入其中?






您可以使用 Annox 为第三方类提供映射。



相关讨论




  • 谢谢 lexicore,我会看看 Annox。


  • 如果您需要帮助,请告诉我。






EclipseLink JAXB (MOXy) 实现提供了一种将元数据表示为 XML 的方法,您可以使用:



  • http://wiki.eclipse.org/EclipseLink/Examples/MOXy/EclipseLink-OXM.XML

您可以使用注释指定一些元数据,而将其余的指定为 XML。以下是您的文档的外观:


我在这里发布了另一个带有完整代码的解决方案

JAXB 外部自定义绑定 XJC 问题 - 解析结果为空节点

如果你有兴趣的话。


您可以使用@XmlTransient 注释您的SuperPerson 类,这将指示JaxB 不要自动编组所有属性。然后用相关的注解来注解你想要序列化的每个getter(或字段)。

这种方法不是很优雅,但应该可以工作



相关讨论





  • 我猜你的意思是 SpecialPerson 而不是 SuperPerson,对吧?问题是我无法注释 getter 和字段,因为它们是在 Person 类(超类)中定义的,而不是在子类 SpecialPerson 中定义的。


  • 是的,我的意思是 SpecialPerson ......无论如何,您可以覆盖 getter\\\\setter 在覆盖方法上添加注释并简单地调用 super... 正如我所说,不是很优雅,但它应该可以工作:-)










推荐阅读
  • Hibernate延迟加载深入分析-集合属性的延迟加载策略
    本文深入分析了Hibernate延迟加载的机制,特别是集合属性的延迟加载策略。通过延迟加载,可以降低系统的内存开销,提高Hibernate的运行性能。对于集合属性,推荐使用延迟加载策略,即在系统需要使用集合属性时才从数据库装载关联的数据,避免一次加载所有集合属性导致性能下降。 ... [详细]
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • Android系统移植与调试之如何修改Android设备状态条上音量加减键在横竖屏切换的时候的显示于隐藏
    本文介绍了如何修改Android设备状态条上音量加减键在横竖屏切换时的显示与隐藏。通过修改系统文件system_bar.xml实现了该功能,并分享了解决思路和经验。 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • Android开发实现的计时器功能示例
    本文分享了Android开发实现的计时器功能示例,包括效果图、布局和按钮的使用。通过使用Chronometer控件,可以实现计时器功能。该示例适用于Android平台,供开发者参考。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • Spring常用注解(绝对经典),全靠这份Java知识点PDF大全
    本文介绍了Spring常用注解和注入bean的注解,包括@Bean、@Autowired、@Inject等,同时提供了一个Java知识点PDF大全的资源链接。其中详细介绍了ColorFactoryBean的使用,以及@Autowired和@Inject的区别和用法。此外,还提到了@Required属性的配置和使用。 ... [详细]
  • 本文讨论了如何使用Web.Config进行自定义配置节的配置转换。作者提到,他将msbuild设置为详细模式,但转换却忽略了带有替换转换的自定义部分的存在。 ... [详细]
  • 初探PLC 的ST 语言转换成C++ 的方法
    自动控制软件绕不开ST(StructureText)语言。它是IEC61131-3标准中唯一的一个高级语言。目前,大多数PLC产品支持ST ... [详细]
author-avatar
crazy82071
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有