java - XStream:反序列化后如何进行验证

标签 java bean-validation xstream

我喜欢在使用 xstream 读取 bean 后使用 bean-validation 来验证它。

我尝试实现readObject(),但是这样我必须自己完成整个反序列化,这绝对不是我想要的。

反序列化后是否有调用的方法可以重写?

最佳答案

你的方法是好的,你只是错过了一些小事情。

如果您希望进行默认序列化,您可以像使用标准 Java 序列化 API 一样重写 readResolve 方法

(方法private void readObject(ObjectInputStream in) throws IOException, ClassNotFoundException)并在该方法中调用in.defaultReadObject();

之后,您可以调用验证方法,或者初始化 transient 字段,或者在反序列化后执行您想要的任何操作。

XStream FAQ 上对此也有更详细的解释。 .

关于java - XStream:反序列化后如何进行验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23163648/

相关文章:

java - 使用 Java 将 XML String 转换为 Map 并获取键值对

java - 如何重命名 XStream 列表元素?

java - 整数字段的 Bean 验证

java - Spring REST 3 支持 XML 和 JSON

java - 知道 ListView 中单击的复选框项吗?

java - Blowfish 加密问题

java - Memcached 不同类型的缓存

java - Spring Boot Controller 错误

spring-boot - 将 @Future 和 LocalDate 的自定义 ConstraintValidator 添加到 Spring Boot 项目

gwt - 如何使用域类(RequestFactory)上的注释规则进行客户端验证?