目前在项目中,很少有VO(值对象)类通过实现Serializable接口进行序列化。这个类只有getter和setter。 没有在代码中进一步执行writeObject或保存对象状态。
是否有任何价值使我的VO Serializable有意义?
答案 0 :(得分:0)
让我们来看一个简单的案例:假设一个实体包装了一些值对象,你想用例如Hibernate框架来管理你的实体。
Hibernate可能需要可序列化的类:
该类应该实现Serializable。严格来说,这是 不是要求。但是,在实践中,你通常会想要你的 Hibernate对象是可序列化的,因此它们可以(可能) 迁移到多处理器群集周围或保存并恢复 Web服务器重启等。
当然,您不必使用精确的writeObject和readObject方法,因为默认序列化使用反射来保存和恢复对象状态。
实际上,当您想要自定义序列化时,这些方法很有意思,比如在反序列化期间使用精确的默认值初始化字段(存在于客户端类中但不存在于服务器类中)。