1. 程式人生 > >如何獲取並操作JavaBean屬性

如何獲取並操作JavaBean屬性

我們要是想要獲取或是設定JavaBean中的屬性,一般會使用內省機制來實現,其核心類為Introspector
Introspector 類為通過工具學習有關受目標Java Bean 支援的屬性、事件和方法的知識提供了一個標準方法。
簡單地說,想操作JavaBean中屬性,可通過內省機制,使用Introspector類中的
static BeanInfo getBeanInfo(Class<.?> beanClass)方法和PropertyDescriptor[] getPropertyDescriptors()
主要步驟如下:
1)獲取指定型別的BeanInfo物件:
BeanInfo beanInfo = Introspector.getBeanInfo(Person.class)或
BeanInfo beanInfo = Introspector.getBeanInfo(Person.class,Object.class);
插入一點,第一種方式最後會得到包括父類在內的屬性資訊(即是說第二種有過濾作用)

2)獲取所有的屬性描述器:
PropertyDescriptor[] pds = info.getPropertyDescriptors() ;
3)遍歷設定或取出屬性:

             //獲取屬性描述器  
PropertyDescriptor[] pds = info.getPropertyDescriptors() ;  
for (PropertyDescriptor pd : pds) {  
    System.out.println(pd.getName());//得到屬性名  
    System.out.println(pd.getPropertyType());//得到屬性資料型別  
Method read = pd.getReadMethod();//得到JavaBean中的getter方法 Method write = pd.getWriteMethod();//得到JavaBean中的setter方法 System.out.println(read); System.out.println(write); }

相關推薦

如何獲取操作JavaBean屬性

我們要是想要獲取或是設定JavaBean中的屬性,一般會使用內省機制來實現,其核心類為Introspector Introspector 類為通過工具學習有關受目標Java Bean 支援的屬性、事件和方法的知識提供了一個標準方法。 簡單地說,想操作Ja

【java】java反射機制,動態獲取對象的屬性和對應的參數值,屬性按照字典序排序,Field.setAccessible()方法的說明【可用於微信支付 簽名生成】

modifier 直接 this 字段值 1-1 讓我 toupper ima play 方法1:通過get()方法獲取屬性值 package com.sxd.test.controller; public class FirstCa{ private

【轉】EF 獲取類的屬性排除特定屬性(getType().GetProperties())

tom 獲取 ive IE arch type ray 參考 overflow 當獲取一個類型(class)的所有屬性時,想排除指定屬性,該如何操作? 比如:EF中一個實體類型UserEntity,通過反射獲取這個類的屬性時,想排除這個為映射的字段ID 使用以下方法即可!

從零開始學 Web 之 jQuery(二)獲取操作元素的屬性

eight images idt 隱藏 lis 屬性 ner master lin 大家好,這裏是「 從零開始學 Web 系列教程 」,並在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公眾號:Web前端之巔

Web開發——JavaScript庫(jQuery HTML——獲取/設定內容和屬性(DOM操作) 續,需要整合在一起)

  3.2 text()、html() 以及 val()的回撥函式   上面的三個 jQuery 方法:text()、html() 以及 val(),同樣擁有回撥函式。回撥函式由兩個引數:被選元素列表中當前元素的下標,以及原始(舊的)值。然後以函式新值返回您希望使用的字串。   下面的例子演示

Web開發——JavaScript庫(jQuery HTML——獲取/設定內容和屬性(DOM操作))

  jQuery 擁有可操作 HTML 元素和屬性的強大方法。 1、jQuery DOM 操作   jQuery 中非常重要的部分,就是操作 DOM 的能力。   jQuery 提供一系列與 DOM 相關的方法,這使訪問和操作元素和屬性變得很容易。   提示:DOM = Document Object

python xlsxwriter寫excel操作各種格式屬性

1 # -*- coding: utf-8 -*- 2 import xlsxwriter 3 4 workbook = xlsxwriter.Workbook('test.xlsx') 5 worksheet = workbook.add_worksheet("test") 6 work

uboot中獲取dts資源操作gpio口

裝置樹(DTS)的引入減少了核心為支援新硬體而需要的改變,提高程式碼重用,使得單個核心映象能支援多個系統。    DTS作為U-Boot 和Linux 核心之間的動態介面,能夠有效減少重複配置,共享於U-Boot 和Linux之間。本文將簡單介紹U-Boot使用DTS控制LED的例子:&n

python 動態獲取例項物件的屬性方法,賦值

#coding:utf-8 import sys def foo():pass class Cat(object): def __init__(self, name='Kitty'): self.name = name def sayHi

js,jquery獲取圖片的src屬性生成陣列

//js獲取圖片的src屬性並生成陣列var imgSrcs = []; var img = document.getElementsByTagName('img') for(i=0;i<img.length;i++){

Java使用PropertyDescriptor獲取實體類中私有屬性的值,給私有屬性賦值

大家都知道Java類中的私有的(private)屬性是獲取不到的(即使使用繼承依然獲取不到),那如果非要獲取私有屬性的值怎麼辦呢?一般的做法是將該java類封裝稱為一個JavaBean,即封裝該私有屬性,提供一對共有的get,set方法來訪問私有屬性。一般情況下都會這樣做

jquery獲取iframe中input操作

//------合併操作---------- $("#hebing").click(function(){ //$(window.frames["upsamevideo1"].document).find("[name = id_list[]]:checkbox").attr("checked", true

jQuery批量獲取input的val,根據name屬性生成對應json物件的屬性

//統一獲取引數val$.fn.serializeDIV = function () {      var o = {};      var a = $('[name]',this);      $.each(a, function () {        if (o[thi

Android GridView獲取子View(操作

Android GridView獲取子View,然後進行操作。 看了一些資料和別人寫的,可還是獲取不到,要不就是沒有效果,最後自己調試出來了。 之前看過一篇文章,說了這個問題,myGridView.getSelectedView();等獲取的都是null的,

在jsp頁面使用el表示式獲取javaBean屬性

JavaBean類 package entity; public class Student { private boolean flag;//是否接受協議 public Studen

標籤自定義屬性,獲取操作的方法封裝以及在此基礎上對標籤原有屬性的擴充套件...

按照慣例,上程式碼,並不斷完善中.<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html>

Java使用PropertyDescriptor獲取實體類中私有屬性的值,給私有屬性賦值!

下面看一段程式碼:BeanUtils.javapackage yw.javaben; import java.beans.PropertyDescriptor; import java.lang.reflect.Method; /** * 獲取私有屬性值JavaBean的幫助類 * @author y

JSP中獲取properties文件屬性

util port char rip text request taglib test 文件屬性 <%@ page contentType="text/html;charset=UTF-8" import="java.util.ResourceBundle"%>

二項隊列的查找插入合操作

-1 節點數 隊列 pair spa main air 連接 emp 源碼例如以下: /* <span style="color:#ff0000;">一棵二次冪堆</span>是一棵左有序的堆,由右子樹為空左子樹為全然二叉樹構成的根組成 &l

使用原生JavaScript實現對select增加option標簽附加value屬性

n) 操作 瑞士 col img 正在 動態生成 spa ted 好久沒有寫原生的東西了,今天寫了一個小項目裏面包含著option選項,所以我決定使用原生JavaScript動態生成, 本著互聯網分享精神,我將本篇文章分享給大家。 html代碼(就是一個select) &