用法:

@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
}

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

1. transient的作用

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

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

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

2. transient使用小结 

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

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

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

额!不知道是不是springMVC里面的注解,但是就先分在这个组吧。

@Transient----------------springMVC相关推荐

  1. 一篇文章教你弄懂SpringMvc中的HttpMessageConverter

    文章目录 一.HttpMessageConverter介绍 二.自定义HttpMessageConverter 写在前面: 我是「境里婆娑」.我还是从前那个少年,没有一丝丝改变,时间只不过是考验,种在 ...

  2. springmvc,spring,hibernate5.0整合

    目录 1. pom依赖 2. web.xml 3. spring核心配置文件 3.1 jdbc配置信息 3.2 sping 配置文件 4. 实体映射 5. 项目结构 5.1 curd 5.2 页面 6 ...

  3. SpringMVC+Shiro权限管理

    SpringMVC+Shiro权限管理 什么是权限呢?举个简单的例子: 我有一个论坛,注册的用户分为normal用户,manager用户. 对论坛的帖子的操作有这些: 添加,删除,更新,查看,回复 我 ...

  4. spring+springmvc+hibernate 整合

    三大框架反反复复搭了很多次,虽然每次都能搭起来,但是效率不高.最近重新搭了一次,理顺了思路,整理了需要注意的地方,分享出来. 工具:Eclipse(jdk 1.7) spring和hibernate版 ...

  5. Spring + SpringMVC + Hibernate + Shiro整合

    以前就一直想学Shiro怎么使用,但一直没动力学,这次因为项目中要用,没办法就去学了.其实Shiro还是挺简单的,而且用着也很方便.例子是一个关于用户角色权限的例子,用户与角色,角色与权限均为多对多的 ...

  6. SpringMVC+FastJson+Swagger集成完整示例

    一:目录 一:基础部分 简介 fastjson api 二:实战部分 Spring MVC + fastjson 整合 三:Swagger集成 二:基础部分 1. FastJson 简介 Fastjs ...

  7. 2021最新Java面试题(Hibernate面试题、MyBatis面试题、Spring面试题、SpringMVC面试题)

    1.什么是 ORM 框架? 答:对象-关系映射(Object-Relational Mapping,简称ORM),面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应用环境 ...

  8. Spring、SpringMVC、SpringBoot

    1. Spring 框架.Spring模块 Spring 是⼀种轻量级开发框架,旨在提⾼开发⼈员的开发效率以及系统的可维护性,它是很多模块的集合,使⽤这些模块可以很⽅便地协助我们进⾏开发. 这些模块是 ...

  9. 【SpringMVC】概述

    概述: SpringMVC:是基于spring的一个框架, 实际上就是spring的一个模块, 专门是做web开发的.                       理解是servlet的一个升级 Sp ...

  10. 【SpringMVC】基本概念

    SpringMVC的基本概念 三层架构 我们的开发一般都是基于c/s或者b/s架构.在JavaEE开发中,几乎全都是基于B/S架构开发.在B/S架构中,系统标准的三层架构包括:表现层,业务层,持久层. ...

最新文章

  1. HashTable已经被淘汰了,不要在代码中再使用它
  2. ci github 通知_初探CI,Github调戏Action手记——自动构建并发布
  3. JavaScript对象的创建之构造函数
  4. 用位运算计算两数的和
  5. 研究生开题报告需要注意的几点
  6. win7如何看计算机用户名和密码怎么办,win7系统电脑查看共享文件夹时不显示用户名和密码输入窗口的解决方法...
  7. 【2018ACM山东省赛 - G】Games(Nim博弈 + dp)
  8. flowable springboot 集成 flowableDMN_05
  9. “落花有意随流水,流水无情恋落花。”出处
  10. 互联网+工业,从哪里开始?
  11. php中paynotify,PayNotifyValidator.php
  12. Numpy详细函数属性
  13. 小米3g刷高格固件_不走弯路:小米路由器3G 刷Padavan固件简单教程
  14. 笔记本无线上网卡的种类
  15. OSChina 周一乱弹 ——我们不应歧视任何语言,她们都是萌娘!(有图有真相)...
  16. Java算法每日练习
  17. 个别网站打不开,但是别人能打开,手机能打开
  18. 系统设计-开放平台(二)
  19. OSI七层网络模型和四层网络模型详解
  20. 【BUUCTF】Crypto题解

热门文章

  1. AuthenticationManager详解
  2. 通过 TiUP 部署 TiDB 集群的拓扑文件配置
  3. python 时间序列分解案例——加法分解seasonal_decompose
  4. python实现概率论(2)
  5. 关于《概率论与数理统计》最全参数估计总结
  6. 老婆是不能和别的女人比的(zt)
  7. MFC 获取计算机的IP地址误区 10049 WSAEADDRNOTAVAI
  8. DHCP(动态主机配置协议)
  9. 在python中month函数的用法_Python代码中calendar.weekday(year,month,day)函数起什么作用呢?...
  10. 阿里云短信服务接口返回: 只能向已回复授权信息的手机号发送