JAXBContext.newInstance的变体

JAXBContext.newInstance的变体,第1张

JAXBContext.newInstance的变体

从XML模式生成的JAXB模型

JAXBContext
从XML模式生成模型中创建模型时,我总是建议对生成的类的包名称进行 *** 作。

JAXBContext jc = JAXBContext.newInstance("example.a");

最好使用

newInstance
带有
ClassLoader
参数的方法。从Java SE迁移到Java EE环境时,这可以避免您的痛苦。

JAXBContext jc = JAXBContext.newInstance("example.a", example.a.ObjectFactory.class.getClassLoader());

JAXBContext
包名称上创建时,JAXB
impl假定您是从XML模式生成模型的,并提取了
ObjectFactory
该类,因为它始终生成
@XmlRegistry
以该名称注释的类。

从Java模型开始

这是我建议人们使用

newInstance
采用类的方法的时候。
JAXBContext
从JAXB类引导时,关于的类没有什么特别的
ObjectFactory
。的角色
ObjectFactory
可以由任何带注解的类扮演,
@XmlRegistry
因此不会自动查找。这就是为什么您的用例在您明确引用
ObjectFactory
时起作用而在您未使用时失败的原因。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5093305.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-16
下一篇 2022-11-16

发表评论

登录后才能评论

评论列表(0条)

保存