1
我喜歡在使用xstream讀取它後使用bean驗證來驗證我的bean。XStream:如何在反序列化後進行驗證
我嘗試實現readObject(),但這種方式我必須自己完成整個反序列化,而且這絕對不是我想要的。
是否有任何方法在反序列化之後調用,我可以重寫?
我喜歡在使用xstream讀取它後使用bean驗證來驗證我的bean。XStream:如何在反序列化後進行驗證
我嘗試實現readObject(),但這種方式我必須自己完成整個反序列化,而且這絕對不是我想要的。
是否有任何方法在反序列化之後調用,我可以重寫?
你的方法沒問題,你只是想念一些小事情。
如果你想默認的序列發生,你可以像使用標準的Java序列化API
(方法private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException
)覆蓋的readResolve方法,並在方法調用in.defaultReadObject();
。
之後,您可以調用您的驗證方法,或初始化瞬態字段或在反序列化之後執行任何您想要的操作。
這也在XStream FAQ上有更詳細的解釋。
到[XStream FAQ](http://x-stream.github.io/faq.html#Serialization_initialize_transient)的有效鏈接 – Entrodus
謝謝,編輯到答案中。 – Matthias