用法:

@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. C语言字符串拼接函数:strcat()
  2. zcmu1710(dp)
  3. 关于逆元的概念、用途和可行性的思考(附51nod 1013 和 51nod 1256)
  4. 如何把安全证书导入到java中的cacerts证书库(转)
  5. 【已解决】applicationContext.xml cannot be opened because it does not exist
  6. UI5控件类似Java反射机制的一个小技巧
  7. u大师u盘装系统win7_优盘如何装系统 u盘装系统的步骤
  8. linq to js使用汇总
  9. python常见编程面试题_python面试题基础部分 80题
  10. How many ways?? - hdu2157(矩阵快速幂-模板)
  11. hdu2243 ac自动机
  12. git merge/git rebase分支合并
  13. 【干货】常用EXE文件反编译工具
  14. reg文件导入注册表后出现中文乱码的解决方法
  15. 只要方向正确,路远不是事
  16. 分享几个故事:让我想明白了不少事情
  17. QT-功能-实现主页面和子页面之间的跳转(最简单)
  18. 【图解】给面试官解释TCP的三次握手与四次挥手-Web运用原理及网络基础
  19. Vanilla JS——最轻快的JavaScript框架
  20. Android 自定义歌词滚动

热门文章

  1. python实现自动登录软件_Python selenium实现微博自动登录的示例代码
  2. 给编程初学者的一封信
  3. 在VUE中使用QRCode.js
  4. SQLServer2008:附加数据库时出错。有关详细信息,请单击“消息”列中的超链接
  5. 习题4.7 从键盘输入一个整数,判断该数是否是完全数。
  6. Calendar.DAY_OF_MONTH存放什么数据
  7. element布局容器大小_让Element-ui的Container布局容器高度百分百显示
  8. 猴子选王)约瑟夫环方法4种方法之一——数组链接方式实现
  9. c语言 createwindow 文本框,FindWindowExA 怎么找文本框的句柄。最好有原码
  10. ROS中的多坐标变换详解(示例+代码)