JAXB解组期间,ObjectFactory的作用是什么?

我正在使用JAXB 2.2.2来解析一个简单的XML-REST流。这是一段代码:

JAXBContext jc = JAXBContext.newInstance( "com.example.entities" );

Unmarshaller u = jc.createUnmarshaller();

r = (Response )u.unmarshal( inputStream );

ObjectFactory类:

@XmlRegistry

public class ObjectFactory {

public Response createRsp() {

return new Response();

}

}

回应类别:

@XmlAccessorType(XmlAccessType.FIELD)

@XmlRootElement(name="rsp")

@XmlType

public class Response { ... }

“ com.example.entities”必须包含ObjectFactory类或jaxb.in​​dex。我想使用ObjectFactory类来确定一些pojo初始化,但是这些类从未使用:Response类始终直接由class.newInstance()实例化。这有什么问题吗?

回答:

您可以利用@XmlType注释来控制如何创建对象:

@XmlType(factoryClass=ObjectFactory.class, factoryMethod="createRsp")

public class Response {

}

以上是 JAXB解组期间,ObjectFactory的作用是什么? 的全部内容, 来源链接: utcz.com/qa/415681.html

回到顶部