通過反射獲取實體物件的屬性及對應的屬性值

2021-09-13 12:43:17 字數 893 閱讀 8083

需求

需要獲取實體物件的屬性及屬性值作為key-value形式的namevaluepair引數,用於post請求的引數,為了避免一大段的get**,考慮使用反射方式進行設定,示例**如下:

public class person 

public void setname(string name)

public string get***()

public void set***(string ***)

public string getphone()

public void setphone(string phone)

}

通過反射獲取屬性及屬性值的測試**如下:

public static void main(string args)  catch (illegalacces***ception e) 

}}

執行結果:

name:aaa

***:男

phone:12345566

field 中 field.get(object obj) 的原始碼如下:

/**

* 返回物件指定field的值

* @param obj 宣告該字段的物件

*/ @callersensitive

public object get(object obj)

throws illegalargumentexception, illegalacces***ception

}return getfieldaccessor(obj).get(obj);

}

通過反射的方式獲取類物件的屬性

public class searchproperty catch classnotfoundexception nosuchfieldexception illegalacces ception nosuchmethodexception e catch invocationtargetexcep...

c 設定物件屬性 反射實體設定變數

前台如果只傳遞了一兩個資料,在後台請求獲取資料設定屬性值還能夠接受,但是如果傳遞了大量的資料,就得多次httprequest reques 請求獲取資料設定屬性值,輸入的 量就很大,而且相當耗費時間,這種費時費力的方法是難以接受的。下面為大家提供乙個取巧的方法,獲取請求資料就變的很簡單了,而且可以節...

反射獲取物件屬性含list

前言,在大型專案中很少會直接使用form提交表單到後台直接使用的。由於存在多個系統的相互呼叫,為了相容和解耦,通常會使用xml或json傳送資料。在xml轉到service中的pojo類的時候一般會使用到反射,在轉換list屬性的時候,不能直接使用類似targetfield sourcefield的...