gpt4 book ai didi

java - 通过 JAXB 反序列化自定义对象创建

转载 作者:行者123 更新时间:2023-12-04 04:48:21 34 4
gpt4 key购买 nike

我有课:

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "ClassFqn", propOrder = { <some properties> })
public class ClassFqn
{
//... Here should be fields, constructor and logic
}

对象是不可变的,我使用缓存对象池工厂而不是直接创建。

当我对这些对象进行 JAXB 反序列化时,我可以使用这个池工厂吗?

最佳答案

有几种方法可以支持此用例。

选项 #1 - 使用 @XmlType指定工厂类和方法

您可以使用 @XmlType指定工厂类和方法的注解:

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(
name = "ClassFqn",
propOrder = { <some properties> }
factoryClass=ClassFqnFactory.class,
factoryMethod="createClassFqn")
public class ClassFqn
{
//... Here should be fields, constructor and logic
}

更多信息
  • http://blog.bdoughan.com/2011/06/jaxb-and-factory-methods.html

  • 选项#2 - 使用 XmlAdapter
    XmlAdapter也可以杠杆。本质上,您将数据读入一个临时对象,然后实现 XmlAdapter使用您自己的机制来创建最终对象。

    更多信息
  • http://blog.bdoughan.com/2010/12/jaxb-and-immutable-objects.html
  • 关于java - 通过 JAXB 反序列化自定义对象创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17830834/

    34 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com