欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java中transient關(guān)鍵字的作用解析

 更新時間:2023年11月22日 09:52:13   作者:搶老婆酸奶的小肥仔  
這篇文章主要介紹了java中transient關(guān)鍵字的作用解析,日常業(yè)務(wù)中,為了安全起見,有些敏感信息我們不希望在網(wǎng)絡(luò)間被傳輸可以使用transient對字段進行修飾,不進行序列化,則返回獲取到的字段為null,需要的朋友可以參考下

前言

日常業(yè)務(wù)中,為了安全起見,有些敏感信息我們不希望在網(wǎng)絡(luò)間被傳輸,例如:用戶密碼登,要么傳遞數(shù)據(jù)時直接將字段過濾,也可以使用transient對字段進行修飾,不進行序列化,則返回獲取到的字段為null;

transient:實體Serilizable序列化時,將不需要序列化的屬性前添加,使其不能序列化。

代碼實現(xiàn)

創(chuàng)建實體

/**
 * @author: jiangjs
 * @description:
 * @date: 2023/3/2 9:56
 **/
@Data
@Accessors(chain = true)
public class UserInfo implements Serializable {
    private String userName;
    private transient String passWord;
    private transient Integer age;
}

在上述實體中passWord與age前添加了transient進行修飾。

測試

/**
 * @author: jiangjs
 * @description: Transient使用
 * @date: 2023/3/2 9:46
 **/
public class Transient {
 
    public static void main(String[] args) throws IOException, ClassNotFoundException {
        UserInfo userInfo = new UserInfo();
        userInfo.setUserName("張三").setPassWord("123456").setAge(20);
        System.out.println("獲取實體數(shù)據(jù):" + userInfo);
        writeDataToTxt(userInfo);
        UserInfo toTxt = readDataToTxt();
        System.out.println("序列化后獲取數(shù)據(jù):" + toTxt);
    }
 
    static void writeDataToTxt(UserInfo userInfo) throws IOException {
        ObjectOutputStream stream = new ObjectOutputStream(new FileOutputStream("D:\\eaafile\\text.txt"));
        ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream("D:\\eaafile\\text2.txt"));
        stream.writeObject(userInfo);
        oos.write(("姓名:"+userInfo.getUserName()+"  password:"+userInfo.getPassWord()+"  age:"+userInfo.getAge()).getBytes("UTF-8"));
        stream.flush();
        oos.flush();
        stream.close();
        oos.close();
    }
 
    static UserInfo readDataToTxt() throws IOException, ClassNotFoundException {
        ObjectInputStream stream = new ObjectInputStream(new FileInputStream("D:\\eaafile\\text.txt"));
        UserInfo userInfo = (UserInfo)stream.readObject();
        stream.close();
        return userInfo;
    }
}

測試結(jié)果:

從測試結(jié)果可以看到,實體在經(jīng)過以流的信息進行傳遞,序列化后被transient修飾后的字段獲取到的數(shù)據(jù)信息為null,這些敏感信息被屏蔽。

使用總結(jié)

1)一旦變量被transient修飾,變量將不再是對象持久化的一部分,該變量內(nèi)容在序列化后無法獲得訪問。

2)transient關(guān)鍵字只能修飾變量,而不能修飾方法和類。注意,本地變量是不能被transient關(guān)鍵字修飾的。變量如果是用戶自定義類變量,則該類需要實現(xiàn)Serializable接口。

3)被transient關(guān)鍵字修飾的變量不再能被序列化,一個靜態(tài)變量不管是否被transient修飾,均不能被序列化。

到此這篇關(guān)于java中transient關(guān)鍵字的作用解析的文章就介紹到這了,更多相關(guān)transient關(guān)鍵字內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java throw Exception實現(xiàn)異常轉(zhuǎn)換

    Java throw Exception實現(xiàn)異常轉(zhuǎn)換

    這篇文章主要介紹了Java throw Exception實現(xiàn)異常轉(zhuǎn)換,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-04-04
  • Java反射機制(Reflection)淺析

    Java反射機制(Reflection)淺析

    這篇文章主要介紹了Java反射機制(Reflection)淺析,本文以實例講解Java的反射機制,需要的朋友可以參考下
    2014-07-07
  • SpringBoot如何配置獲取request中body的json格式參數(shù)

    SpringBoot如何配置獲取request中body的json格式參數(shù)

    這篇文章主要介紹了SpringBoot如何配置獲取request中body的json格式參數(shù),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Java中字符串String的+和+=及循環(huán)操作String原理詳解

    Java中字符串String的+和+=及循環(huán)操作String原理詳解

    Java編譯器在編譯時對String的+和+=操作會創(chuàng)建StringBuilder對象來進行字符串的拼接,下面這篇文章主要給大家介紹了關(guān)于Java中字符串String的+和+=及循環(huán)操作String原理的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • 詳細(xì)介紹Java后端API接口開發(fā)規(guī)范

    詳細(xì)介紹Java后端API接口開發(fā)規(guī)范

    在Java后端開發(fā)中,API接口的設(shè)計與開發(fā)至關(guān)重要,本文詳細(xì)介紹了命名規(guī)范、接收參數(shù)規(guī)范、參數(shù)檢驗、接收方式規(guī)范、異常類處理、統(tǒng)一返回格式以及冪等性等方面的開發(fā)規(guī)范,提供了實際代碼示例,需要的朋友可以參考下
    2024-10-10
  • SpringBoot打包后無法讀取到resource下的資源文件的解決

    SpringBoot打包后無法讀取到resource下的資源文件的解決

    這篇文章主要介紹了SpringBoot打包后無法讀取到resource下的資源文件的解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-04-04
  • 前后端項目分離解決cors錯誤的方法詳解

    前后端項目分離解決cors錯誤的方法詳解

    隨著前后端分離技術(shù)的越來越盛行,跨域問題也逐漸凸顯了出來,下面這篇文章主要給大家介紹了關(guān)于前后端項目分離解決cors錯誤的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • Java如何基于反射機制獲取不同的類

    Java如何基于反射機制獲取不同的類

    這篇文章主要介紹了Java如何基于反射機制獲取不同的類,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08
  • 詳解IDEA 中使用Maven創(chuàng)建項目常見錯誤和使用技巧(推薦)

    詳解IDEA 中使用Maven創(chuàng)建項目常見錯誤和使用技巧(推薦)

    這篇文章主要介紹了詳解IDEA 中使用Maven創(chuàng)建項目常見錯誤和使用技巧(推薦),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • Java比較兩個對象是否相等的方法

    Java比較兩個對象是否相等的方法

    這篇文章主要介紹了Java比較兩個對象是否相等的方法,文中給出了三種方法,并通過代碼講解的非常詳細(xì),對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-03-03

最新評論