带有GWT的POJO库

时间:2014-06-02 13:52:22

标签: java gwt

我有一个运行良好的GWT项目,我使用了一堆共享类。在项目的这个阶段,我需要与其他库共享POJO。

我决定将POJO放在库中。

public class Application implements IsSerializable {
    // ....
}

由于这个库是技术中立的,我想摆脱IsSerializable以及对GWT的依赖。这有意义吗?

我是否需要在项目的GWT方面做任何事情?

1 个答案:

答案 0 :(得分:1)

您可以使用标准java.io.Serializable界面而不是(现在有点过时)IsSerializable。它被引入的原因是区分GWT RPC序列化和Java的序列化。关于这个主题的official FAQ entry

  
      
  • GWT序列化的语义远比标准Java序列化复杂,因此使用java.io.Serializable作为标记接口意味着GWT的序列化系统能够实现更多功能。
  •   
  • 相反,GWT的序列化机制比标准Java更简单,因此使用java.io.Serializable意味着用户比实际更需要担心(例如序列化版本ID)。
  •   
  • GWT仅实现完整Java JRE类的子集,并且在java.io中没有实现任何内容。使用java.io.Serializable作为GWT RPC序列化标记接口会稀释java.io在GWT应用程序中不可用的消息。
  •   
     

虽然上述各点仍然有效,但GWT团队认为社区普遍意识到这些问题,但更喜欢能够使用标准java.io.Serializable界面而不是让他们的类实现IsSerializable标记界面(...)。