2012-03-15 81 views
2

圖像你有自動生成的bean,你想用一些額外的功能擴展它們。因此,您擴展自動生成的Bean,並在同一文件中擴展ObjectFactory並使用@XmlRegistry對其進行註釋。JAXB自己的對象工廠在編組時不使用

當解組某個對象時,擴展的ObjectFactory未被使用,因此創建了自動生成的bean。

我錯過了什麼步驟來創建自定義bean?我可以告訴JAXB使用哪個工廠?或者JAXB根本不使用工廠?

回答

3

是的,您需要在配置Unmarshaller時指定ObjectFactory。我認爲你可以使用這樣的東西來提供你自己的ObjectFactory實現:

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

當設置屬性時,我得到一個空指針異常。此外,似乎在我的類路徑中沒有com.sun.xml.bind.ObjectFactory類或接口... – 2012-03-23 16:36:12