2014-04-18 23 views
1

我喜歡在使用xstream讀取它後使用bean驗證來驗證我的bean。XStream:如何在反序列化後進行驗證

我嘗試實現readObject(),但這種方式我必須自己完成整個反序列化,而且這絕對不是我想要的。

是否有任何方法在反序列化之後調用,我可以重寫?

回答

1

你的方法沒問題,你只是想念一些小事情。

如果你想默認的序列發生,你可以像使用標準的Java序列化API

(方法private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException)覆蓋的readResolve方法,並在方法調用in.defaultReadObject();

之後,您可以調用您的驗證方法,或初始化瞬態字段或在反序列化之後執行任何您想要的操作。

這也在XStream FAQ上有更詳細的解釋。

+1

到[XStream FAQ](http://x-stream.github.io/faq.html#Serialization_initialize_transient)的有效鏈接 – Entrodus

+0

謝謝,編輯到答案中。 – Matthias

相關問題