日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
究竟是內省還是內省

中國文化之博大精深之內省還是內省,究竟他是讀(xing)還是(sheng)呢,通過百度引擎貌似曉得,他是讀(xing)。

創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務,包含不限于成都做網(wǎng)站、成都網(wǎng)站建設、葉城網(wǎng)絡推廣、小程序制作、葉城網(wǎng)絡營銷、葉城企業(yè)策劃、葉城品牌公關、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)為所有大學生創(chuàng)業(yè)者提供葉城建站搭建服務,24小時服務熱線:028-86922220,官方網(wǎng)址:www.cdcxhl.com

下面我們就對內省做一下簡單介紹:

1.內省是java語言對bean類屬性、事件的一種處理方法

2.為什么要學內省?開發(fā)框架時,經(jīng)常需要使用java對象的屬性來封裝程序的數(shù)據(jù),每次都使用反射技術完成此類操作過于麻煩,所以sun公司開發(fā)了一套API,專門用于操作java對象的屬性。

3.內省訪問JavaBean屬性的兩種方式:

通過PropertyDescriptor類操作Bean的屬性

通過Introspector類獲得Bean對象的 BeanInfo,然后通過 BeanInfo 來獲取屬性的描述器( PropertyDescriptor ),通過這個屬性描述器就可以獲取某個屬性對應的 getter/setter 方法,然后通過反射機制來調用這些方法。

下面寫一下測試代碼

Java代碼

 
 
 
  1. /*    
  2.      * 通過Introspector類獲得Bean對象的 BeanInfo, 然后通過 BeanInfo 來獲取屬性的描述器(    
  3.      * PropertyDescriptor ) 通過這個屬性描述器就可以獲取某個屬性對應的 getter/setter 方法,    
  4.      * 然后通過反射機制來調用這些方法。    
  5.      */    
  6.     @Test    
  7.     public void test() throws IntrospectionException, IllegalArgumentException,     
  8.             IllegalAccessException, InvocationTargetException {     
  9.         Student st = new Student();     
  10.         // 1、通過Introspector類獲得Bean對象的 BeanInfo,     
  11.         BeanInfo entity = Introspector.getBeanInfo(Student.class);     
  12.         // 2、然后通過 BeanInfo 來獲取屬性的描述器( PropertyDescriptor )     
  13.         PropertyDescriptor pdrs[] = entity.getPropertyDescriptors();     
  14.         // 3、通過這個屬性描述器就可以獲取某個屬性對應的 getter/setter 方法,     
  15.         for (PropertyDescriptor pd : pdrs) {     
  16.             // System.out.println(pd.getName());     
  17.             /*    
  18.              * System.out.println(pd.getShortDescription());    
  19.              * System.out.println(pd.getDisplayName());    
  20.              */    
  21.             if (pd.getName().equals("age")) {  //age是什么類型?     
  22.                 Method md = pd.getWriteMethod();     
  23.                 md.invoke(st, 12);     
  24.             }     
  25.         }     
  26.              
  27. //      System.out.println(st.getAge());     
  28.     
  29.     }   

bean類

Java代碼

 
 
 
  1. package cn.csdn.Introspector;     
  2.     
  3. public class Student {     
  4.     private String name;     
  5.     private int age;     
  6.     public int getAge() {     
  7.         return age;     
  8.     }     
  9.     public void setAge(int age) {     
  10.         this.age = age;     
  11.     }     
  12.     public String getEmail() {     
  13.         return email;     
  14.     }     
  15.     public void setEmail(String email) {     
  16.         this.email = email;     
  17.     }     
  18.     private String email;     
  19.     public String getXxx(){     
  20.         return "Longmanfei";     
  21.     }     
  22. }   

當前標題:究竟是內省還是內省
本文地址:http://www.dlmjj.cn/article/cojddio.html