java当中的 transient

今天是我入职的第一个月,在作上传附件的这个模块时,查看以前别人写好的源代码,忽然发现有个附件类,类中有个属性方法不需要序列化:
java当中的 transient
这个方法对应的属性时localUrl,上传附件的地址,正如我们知道的那样,图片、附件、文档等这些大文件,一般不写入数据库中的,比如附件对应的表:
java当中的 transient
数据库当中并没有该路径对应的字段,因为我们把附件放在服务器的某个文件夹下,我们存储的就是该文件夹的路径——它是由文件夹的名字+附件的名字组合起来的。前台在展示附件时,我们只要将路径给他们就行了。


我们什么时候使用 transient?

类中的字段值可以根据其它字段推导出来,我们就不用将其序列化了

  • 比如长方形的面积等,它是由长*宽计算出来
  • 比如附件的服务器的地址,是由文件夹+文件名拼接的
  • 图片、附件的大小
  • 。。。