java 的transient关键字的作用是需要实现Serilizable接口,将不需要序列化的属性前添加关键字transient,序列化对象的时候,这个属性就不会序列化到指定的目的地中。

用法

@transient 就是在给某个javabean上需要添加个属性,但是这个属性你又不希望给存到数据库中去,仅仅是做个临时变量,用一下。不修改已经存在数据库的数据的数据结构。

那么这个注解就可以一用。

只要在你准备添加的临时属性上添加这个注解,然后getter和setter自动完成一下,就可以啦。

@Document(collection = "streams")
public class Stream implements Serializable,Cloneable {private static final long serialVersionUID = 1L;@Transientprivate boolean alarmsettingsActive = false;
xxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxx
}

上面的是个人理解,下面呢就是详细说说。

transient的作用

我们都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者提供了很多便利,我们可以不必关系具体序列化的过程,只要这个类实现了Serilizable接口,这个类的所有属性和方法都会自动序列化。
  然而在实际开发过程中,我们常常会遇到这样的问题,这个类的有些属性需要序列化,而其他属性不需要被序列化,打个比方,如果一个用户有一些敏感信息(如密码,银行卡号等),为了安全起见,不希望在网络操作(主要涉及到序列化操作,本地序列化缓存也适用)中被传输,这些信息对应的变量就可以加上transient关键字。换句话说,这个字段的生命周期仅存于调用者的内存中而不会写到磁盘里持久化。
  总之,java 的transient关键字为我们提供了便利,你只需要实现Serilizable接口,将不需要序列化的属性前添加关键字transient,序列化对象的时候,这个属性就不会序列化到指定的目的地中。

transient使用小结

1)一旦变量被transient修饰,变量将不再是对象持久化的一部分,该变量内容在序列化后无法获得访问。

2)transient关键字只能修饰变量,而不能修饰方法和类。注意,本地变量是不能被transient关键字修饰的。变量如果是用户自定义类变量,则该类需要实现Serializable接口。

3)被transient关键字修饰的变量不再能被序列化,一个静态变量不管是否被transient修饰,均不能被序列化。

@Transient注解作用相关推荐

  1. java字段不序列化注解_@Transient注解的使用(不被序列化和作为临时变量存储)...

    java 的transient关键字的作用是需要实现Serilizable接口,将不需要序列化的属性前添加关键字transient,序列化对象的时候,这个属性就不会序列化到指定的目的地中. trans ...

  2. java.beans.transient_@Transient注解的使用(不被序列化和作为临时变量存储)

    java 的transient关键字的作用是需要实现Serilizable接口,将不需要序列化的属性前添加关键字transient,序列化对象的时候,这个属性就不会序列化到指定的目的地中. trans ...

  3. @Transient注解的使用

    @Transient注解的使用 转自:https://blog.csdn.net/sinat_29581293/article/details/51810805 java 的transient关键字的 ...

  4. java常用注解及功能_SpringBoot 中常用注解及各种注解作用

    本篇文章将介绍几种SpringBoot 中常用注解 其中,各注解的作用为: @PathVaribale 获取url中的数据 @RequestParam 获取请求参数的值 @GetMapping 组合注 ...

  5. Mybatis的@Param注解作用

    单个参数 若无@Param注解,Blog getBlog(Long id);,mybatis中传入的变量名id 可以随便写 如#{0},#{id}, #{aaa} - 如果带有注解 Blog getB ...

  6. @Autowired注解作用在方法上

    @Autowired注解作用在方法上 @Autowired注解作用在方法上 (1)该方法如果有参数,会使用autowired的方式在容器中查找是否有该参数 (2)会执行该方法

  7. @enableautoconfiguration注解作用_如何让代码变“高级”-Spring组合注解提升代码维度(这么有趣)...

    [如何让代码变"高级"]-Spring组合注解提升代码维度 "致"高级"工程师(BUG工程师) 一颗折腾的心:heartpulse: 原创不易,点个赞 ...

  8. SprigData-JPA之Query进行复杂查询并映射到自定对象(非数据库字段用@Transient注解)

    场景介绍 有时候用JPA的时候,想拥有mybatis如此轻松的映射,将一堆复杂场景的sql语句映射到一个java类来返回.而JPA本身是很坑的,Query之支持简单查询,复杂查询需要去构造Specif ...

  9. Spring注解@NonNull作用 Spring注解@Nullable作用 Spring NonNull 注解作用 Spring Nullable注解作用

    Spring注解@NonNull作用 Spring注解@Nullable作用 Spring NonNull 注解作用 Spring Nullable注解作用 一.概述 在看Spring源码的时候,经常 ...

最新文章

  1. NetBeans 时事通讯(刊号 # 146 - May 13, 2011)
  2. 同时存多个变量缓存 微信小程序_CPU缓存一致性协议MESI,memory barrier和java volatile...
  3. POJ - 3468 A Simple Problem with Integers(分块)
  4. POJ2115-C Looooops【扩欧,同余】
  5. Hadoop HA 深度解剖
  6. 设计psd分层素材模板|家居海报设计思路!
  7. MySQL 四种链接
  8. python判断互质_整数判断是否互质并求逆元的 python 实现
  9. java并发常量_Java并发编程-常量对象(七)
  10. 循环队列 代码实现(FIFO)
  11. 数学与泛型编程(7)置换算法
  12. 2010年最怪异的25个面试问题,你能回答吗?
  13. 依行科技日常实习面经
  14. 桌面快捷方式图标异常怎么办
  15. c语言 老鼠乘法,c语言-老鼠走迷宫逐步理解
  16. 51单片机实现简易计算机,Keil4代码Proteus工程一步到位
  17. docker 使用 iso虚拟光驱一键式安装
  18. 如何把PDF文件转换成HTML文件
  19. pwnable.kr---blackjack
  20. 匹兹堡大学申请条件计算机科学,匹兹堡大学计算机科学理学硕士研究生申请要求及申请材料要求清单...

热门文章

  1. ruby中、.reject_Ruby中带有示例的Array.reject方法
  2. 单链表删除整表_单链表删除
  3. 哈密顿路径_检查图形是否为哈密顿量(哈密顿路径)
  4. linux下mysql目录结构_linux下mysql安装配置与目录结构
  5. 大一python编程题_请教python编程问题(作业就剩这几道题了)
  6. python学完面向对象之后_Python学完基础语法后,再往后应该学什么?
  7. scala中创建时间序列_如何从Scala中的序列中提取唯一元素?
  8. 求求你,别再用wait和notify了!
  9. web api添加拦截器
  10. Android JSON数据与实体类之间的相互转化-------GSON的简单用法