在Spring中,ExtJs应用程序我使用Java对象的JSON序列化。当我想从JSON中排除属性时,我使用@Transient
注释。
我看到java transient
关键字也适用于此。我想知道哪些在性能方面和安全性方面最好,效率更高。
答案 0 :(得分:2)
最好使用@Transient
注释,这样可以更明显地表达您的意图。
看看这个:
private transient Somefield myField;
和此:
@Transient
private Somefield myField;
哪一个更明显?
transient
作为关键字“仅”用于在Java序列化期间忽略某些字段。您可以说注释更具域特性,您的JSON处理器最好使用它;安全性和性能明智,因为它知道你想要做什么。
更不用说,当然有可能(检查你的实现)如果一个字段被标记为transient
但没有注释,当你的对象通过网络时,你的实现将期望一个字段null
值,但它不会得到任何东西,这可能会导致一些问题。
答案 1 :(得分:1)
我更喜欢使用基于注释的映射。因为这可能依赖于您的JSON解析器API。因此,java annotation
Vs @Transient
之间可能存在差异。