日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2024/9/19 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java字段不序列化注解_@Transient注解的使用(不被序列化和作为临时变量存储)... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

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修飾,均不能被序列化。

總結

以上是生活随笔為你收集整理的java字段不序列化注解_@Transient注解的使用(不被序列化和作为临时变量存储)...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。