POJO类被序列化而没有读/写用法

时间:2018-11-07 17:37:14

标签: java spring oracle serialization pojo

我是SPRING的新手,被分配从事当前正在开发的项目的工作。不幸的是,该项目的开发进展缓慢,所以人们来来往往,所以我不能问他们为什么某些事情是以某种方式完成的。

该项目是使用SPRING的Web服务。

他们正在使用视图-控制器-服务(接口和实现)-DAO(接口和实现)-POJO(用于跨层传输数据结构的类)。

每个POJO我都检查了实现序列化。在仔细检查和搜索代码后,POJO本身或任何其他文件中均未写入或读取过任何POJO。导致我问为什么要这样做。

POJO是从DAO中的Oracle语句填充的,气泡会向上扩展到视图,然后将气泡回落到DAO,在其中使用Oracle语句将它们中的信息写入数据库。 POJO本身未写入数据库。

SPRING MVC或Java Web应用程序是否需要序列化并且在后台使用?是否需要在服务器和客户端连接之间传输数据?是否有充分的理由所有POJO都在使用它,而新手却无法识别?

3 个答案:

答案 0 :(得分:0)

使用Java的default serialization是常规POJO的常规方法。

  

Java指定了可以序列化对象的默认方式。 Java类可以覆盖此默认行为。当尝试序列化具有一些不可序列化属性的对象时,自定义序列化可能特别有用。

答案 1 :(得分:0)

取决于各层中使用的技术以及实施细节。

如果使用JPA / Hibernate完成持久性,则POJO最有可能需要序列化。

如果通过Servlet会话将POJO传递给视图并且会话复制已打开,那么您需要将POJO序列化。

答案 2 :(得分:0)

这可能不是正确的答案,但到目前为止,在我看来,它匹配并解释了我所看到的内容。我还没有看到其他地方提到的这些信息,但是答案很恰当,已经有一段时间了,并且答案来自高声誉用户,所以我倾向于相信它。

另一个问题中有一个answer,他们提到了一些重要内容。

  

关于您为什么需要担心序列化的原因,这是因为大多数Java servlet容器(例如Tomcat)都需要将类的实例存储为HttpSession的属性时,这些类才能实现Serializable。这是因为当servlet容器需要关闭/重新启动或放置在必须同步会话的服务器集群中时,可能需要将HttpSession保存在本地磁盘文件系统上,甚至通过网络进行传输。

我正在使用DOES的应用程序使用Tomcat,因此,如果这是一个限制或行为,那么我可以很容易地看到为什么所有POJO都是以这种方式创建的,只是为了避免以后可能出现的问题,这是由于以前曾经使用过这些的经验,以及我所缺乏的经验。