想象一下,您已经有了自动生成的 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/