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

transient使用小结

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

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

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

用法:

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

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

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

@Document(collection = "streams")

public class Stream implements Serializable,Cloneable {

private static final long serialVersionUID = 1L;

@Transient

private boolean alarmsettingsActive = false;

xxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxx

}

@Document(collection = "streams")

public class Stream implements Serializable,Cloneable {

private static final long serialVersionUID = 1L;

@Transient

private boolean alarmsettingsActive = false;

xxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxx

}

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

1. transient的作用

我们都知道一个对象只要实现了Serilizable接口,这个对象就可以被序列化,java的这种序列化模式为开发者提供了很多便利,我们可以不必关系具体序列化的过程,只要这个类实现了Serilizable接口,这个类的所有属性和方法都会自动序列化。

然而在实际开发过程中,我们常常会遇到这样的问题,这个类的有些属性需要序列化,而其他属性不需要被序列化,打个比方,如果一个用户有一些敏感信息(如密码,银行卡号等),为了安全起见,不希望在网络操作(主要涉及到序列化操作,本地序列化缓存也适用)中被传输,这些信息对应的变量就可以加上transient关键字。换句话说,这个字段的生命周期仅存于调用者的内存中而不会写到磁盘里持久化。

总之,java 的transient关键字为我们提供了便利,你只需要实现Serilizable接口,将不需要序列化的属性前添加关键字transient,序列化对象的时候,这个属性就不会序列化到指定的目的地中。

2. transient使用小结

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

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

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

@Transient注解的使用

转自:https://blog.csdn.net/sinat_29581293/article/details/51810805 java 的transient关键字的作用是需要实现Serilizab ...

@transient 注解 和 transient变量的作用

@transient 和 transient是两码事 1.@transient的作用 @transient是hibernate和Morphia中的注解,hibernate都熟悉,Morphia是通过同 ...

@Transient注解

以下两个包都包含@Transient注解 java.beans.Transient; javax.persistence.Transient; 使用@Transient时注意区别二者

@Transient注解----Hiberbate

@Transient表示该属性并非一个到数据库表的字段的映射,将会忽略该属性.如果一个属性并非数据库表的字段映射,就务必将其标示为@Transient,否则,ORM框架默认其注解为@Basic Exa ...

SpringBoot | Hibernate @Transient 注解

在默认情况下,持久化类的所有属性会自动映射到数据表的数据列.如果在实际应用中,不想持久保存某些属性,则可以考虑使用@Transient来修饰它们. 如果一个属性并非数据库表的字段映射,就务必将其标示为 ...

MessagePack Java 0.6.X 不使用注解(annotations)来序列化

如果你不能添加 @Message 到你的定义对象中但是你还是希望进行序列化.你可以使用 register 方法来在类中启用序列化对象. 如下的代码所示: MessagePack msgpack = n ...

Zookeeper系列六:服务器角色、序列化与通信协议、数据存储、zookeeper总结

一.服务器角色 1. Leader 1)事务请求的唯一调度者和处理者.保证事务处理的顺序性 事务请求:导致数据一致性的请求(数据发生改变).如删除一个节点.创建一个节点.设置节点数据,设置节点权限就是 ...

Unity 将一个类序列化并以 ".asset" 类型存储在 Resources 文件夹下

概念: 序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程.在序列化期间,对象将其当前状态写入到临时或持久性存储区.以后,可以通过从存储区中读取或反序列化对象的状态 ...

集合类源码(六)Map(HashMap, Hashtable, LinkedHashMap, WeakHashMap)

HashMap 内部结构 内部是一个Node数组,每个Node都是链表的头,当链表的大小达到8之后链表转变成红黑树. put操作 final V putVal(int hash, K key, V v ...

随机推荐

[php入门] 3、WAMP中的集成MySQL相关基础操作

前言:本文以小白视角了解WAMP集成开发环境中的MYSQL,涉及的面广而浅,算是导读性质. 1.启动运行熟悉WAMP中的MySQL 先有库.再有表.数据最终以记录的形式插入表中.其中对数据进行操作使用 ...

bzoj 4066: 简单题 kd-tree

4066: 简单题 Time Limit: 50 Sec  Memory Limit: 20 MBSubmit: 234  Solved: 82[Submit][Status][Discuss] De ...

HDU 5950 Recursive sequence 【递推+矩阵快速幂】 (2016ACM/ICPC亚洲区沈阳站)

Recursive sequence Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Other ...

js 通过function来定义函数

什么是函数: 函数是完成某一功能的代码段. 函数是可重复执行的代码段. 函数方便管理和维护. 自定义一个函数: 通过function关键字来定义一个函数. 语法:   function 函数名称([可 ...

“玲珑杯”ACM比赛 Round #1 题解

A:DESCRIPTION Eric has an array of integers a1,a2,...,ana1,a2,...,an. Every time, he can choose a co ...

【知了堂学习笔记】/JavaScript对象--/暖妮

JavaScript对象 1.什么是JavaScript对象? JavaScript 中的所有事物都是对象:字符串.数字.数组.日期,等等. 在 JavaScript 中,对象是拥有属性和方法的数据. ...

BBS论坛(六)

6.1.优化json数据的返回 (1)新建utils/restful.py # utils/restful.py from flask import jsonify class HttpCode(ob ...

Python-爬虫03:urllib.request模块的使用

目录 1. urllib.request的基本使用 1.1 urlopen 1.2. 用urlopen来获取网络源代码 1.3. urllib.request.Request的使用 2. User-A ...

ASP.NET C# 实现钉钉签名算法

在 https://open-doc.dingtalk.com/microapp/faquestions/hxs5v9 钉钉给出了JAVA/PHP算法,下面是C#算法 using System.Sec ...

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

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

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

  2. Java中的transient关键字

    前言 说实话学了一段时间java的朋友对于transient这个关键字依旧很陌生基本没怎么用过,但是transient关键字在java中却起到了不可或缺的地位!如果要说讲到,我觉得最可能出现的地方是I ...

  3. @Transient注解作用

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

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

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

  5. java jsonfield_FastJson中@JSONField注解使用

    最近做项目中,使用了json格式在服务器之间进行数据传输.但是发现json格式数据不符合JAVA中的变量定义规则,并且难以理解,因此需要在后台中做二次处理,将数据处理成我们系统中定义的格式. 思路: ...

  6. @Transient注解的使用

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

  7. java scheduled_怎么在java中利用@Scheduled注解执行定时任务

    怎么在java中利用@Scheduled注解执行定时任务 发布时间:2021-01-13 16:52:56 来源:亿速云 阅读:84 作者:Leah 本篇文章给大家分享的是有关怎么在java中利用@S ...

  8. java 中的 Annotation 注解学习笔记

    java 中的 Annotation 注解 什么是注解 元注解 @Target @Retention @Document @Inherited 自定义注解 什么是注解 Annotation 是从JDK ...

  9. java ee中javamail注解_JavaEE之注解

    1注解:Annotation注解,是一种代码级别的说明.它是JDK1.5及以后版本引入的一个特性,与类.接口.枚举是在同一个层次,给计算机,JVM提供解读信息的. 2注解的作用:编译检查:代码分析,编 ...

最新文章

  1. 关于重写session实现的时候可能会导至nginx 502的问题
  2. Nacos(八)之Docker
  3. 一文简单弄懂tensorflow_在tensorflow中设置梯度衰减
  4. git status查看文件的状态
  5. 金兄的境界:我的名字搜索终于出来了。重要信息声明,并永久置顶。我的博客在零网zeronet...
  6. split出现得问题
  7. 关于Spring注入方式的几道面试题,你能答上么?
  8. java编程如何 实现8开立方等于2_Java之Math类使用小结
  9. c语言 防止sql注入,c#如何防止sql注入?
  10. Handler到底是一个什么东东
  11. Tanzu Observability by Wavefront Spring Boot Starter
  12. tkinter 设置不可编辑_jquery 设置页面元素不可点击、不可编辑、只读(备忘)
  13. dnf剑魂buff等级上限_DNF男鬼剑三觉,剑魂重回“鬼剑一哥”地位,再现“一肩成神”风采...
  14. 无法删除文件或文件夹的原因和解决方法(转)
  15. 基础回顾(二)qps、rps、tps
  16. Spring Boot 菜鸟教程 异常 集锦
  17. C++中switch字符串Cstring/string map中查找
  18. 学校校园教务老师选课排课系统 毕业设计毕设源码毕业论文参考(1)功能概要
  19. 微信小程序实战须知2:详解数据API所需网络配置域名、Https、备案、SSL
  20. 移植Nokia5110屏驱动 | 我是如何将51代码转为STM32驱动代码的

热门文章

  1. WIN7/8 默认网关总是自动消失
  2. Unity中常见的报错类型
  3. 【概率论基础进阶】随机事件和概率-随机事件、事件间的关系与运算
  4. 超级QQ客服爆笑视频--与大家分享快乐
  5. server_sk.bind((‘192.168.1.116‘, 9000)) OSError: [WinError 10049] 在其上下文中,该请求的地址无效。
  6. ubuntu镜像阿里云更新源地址
  7. win7下cuda8.0安装跑gpu版tensorflow
  8. MFC中 dc.DrawText()与dc.TextOut()从功能上讲有什么区别?
  9. VS2017 MFC使用Skin++界面库实例(最简单的方法为自己的MFC程序换肤)
  10. js/vue获取本机的IP地址遇到的问题解决经验