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