在 Spring,ExtJs 应用程序中,我使用 java 对象的 JSON 序列化。当我想从 JSON 中排除一个属性时,我使用@Transient
注释。
我看到 javatransient
关键字也适用于此。我想知道其中哪些在性能和安全性方面是最好的和更有效的。
在 Spring,ExtJs 应用程序中,我使用 java 对象的 JSON 序列化。当我想从 JSON 中排除一个属性时,我使用@Transient
注释。
我看到 javatransient
关键字也适用于此。我想知道其中哪些在性能和安全性方面是最好的和更有效的。
最好使用@Transient
注释,这将使您的意图更加明显。
看看这个:
private transient Somefield myField;
还有这个:
@Transient
private Somefield myField;
哪个更明显?
transient
as 关键字“仅”用于在 Java 序列化期间忽略某些字段。你可以说这个注解是更具体的领域,你的 JSON 处理器会更好地使用它;安全和性能明智,因为它会知道您要做什么。
更不用说,如果一个字段被标记transient
,但没有注释,那么当你的对象通过网络时,你的实现将期望一个具有null
值的字段,但实际上它什么也得不到这可能会导致一些问题。
我更喜欢使用基于注释的映射。因为这可能取决于您的 JSON 解析器 API。annotation
因此, java Vs之间可能存在差异@Transient
。