0

目前在项目中,很少有 VO(值对象)类通过实现 Serializable 接口进行序列化。这个类只有 getter 和 setter。在代码中他们正在执行 writeObject 或保存对象状态的任何地方都没有。

让我的 VO Serializable 有意义有什么价值吗?

4

1 回答 1

0

让我们用一个简单的案例来争论:想象一个包装了一些值对象的实体,并且您想使用例如 Hibernate 框架来管理您的实体。

Hibernate 可能需要可序列化的类:

该类应实现可序列化。严格来说,这不是一个要求。但是,在实践中,您通常希望您的 Hibernate 对象是可序列化的,以便它们可以(可能)在多处理器集群周围迁移或在 Web 服务器重新启动时保存和恢复等。

当然,您不必精确的 writeObject 和 readObject 方法,因为默认的序列化使用反射来保存和恢复对象状态。

实际上,当您想要自定义序列化时,这些方法很有趣,例如在反序列化期间使用精确的默认值初始化一个字段(存在于客户端类中但不存在于服务器类中)。

于 2012-05-03T09:58:29.233 回答