java - 解码时不使用 JAXB 自己的对象工厂

标签 java jaxb marshalling jaxb2 objectfactory

想象一下,您已经有了自动生成的 bean,并且您想用一些额外的功能来扩展它们。因此,您可以扩展自动生成的 bean,并在同一个文件中扩展 ObjectFactory 并使用 @XmlRegistry 对其进行注释。

当解码某些对象时,不会使用扩展的ObjectFactory,因此会创建自动生成的bean。

创建自定义 Bean 时我缺少哪一步?我可以告诉 JAXB 使用哪个工厂吗?或者 JAXB 根​​本不使用工厂?

最佳答案

是的,您需要在配置 Unmarshaller 时指定 ObjectFactory。我认为你可以使用这样的东西来提供你自己的 ObjectFactory 实现:

unmarshaller.setProperty("com.sun.xml.bind.ObjectFactory",new MyObjectFactory());

关于java - 解码时不使用 JAXB 自己的对象工厂,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9719271/

相关文章:

java - MongoDB 聚合框架和 Java 驱动程序使 $or 条件起作用

java - 如何使用私钥加密 PBEWithHmacSHA512AndAES_128 创建 PKCS12 keystore

java - 在注册表中找不到数据格式 - Camel

c# - 从 C 到 C# 的编码(marshal)结构

java - Instrument Netty 的 EventLoop 用于确定性执行计划任务

java - View 中的空指针

java - JAXB map 适配器

java - JaxB:不适用于带有大写字母的 XML 子标签

C# 结构到 VB6,反之亦然

c# - 从 C# 调用 C DLL 导致尝试读取或写入 protected 内存