成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

究竟是內省還是內省

開發 后端
中國文化之博大精深之內省還是內省,究竟他是讀(xing)還是(sheng)呢,通過百度引擎貌似曉得,他是讀(xing)。下面我們就對內省做一下簡單介紹:

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

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

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

2.為什么要學內省?開發框架時,經常需要使用java對象的屬性來封裝程序的數據,每次都使用反射技術完成此類操作過于麻煩,所以sun公司開發了一套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. }   

【編輯推薦】

  1. 深入理解Java的內省與反射
  2. 關于Java反射機制的一個實例
  3. Jython的內省服務:更簡單的內省方式
  4. 使用Java 5特性來簡化反射編程
  5. 反射在Java Swing編程中的應用
責任編輯:金賀 來源: JavaEye博客
相關推薦

2018-07-05 16:15:26

緩存數據cache miss

2010-06-28 14:47:45

云計算

2012-08-20 10:34:07

軟件開發開發軟件

2016-11-01 15:16:52

QQ狀態即時通訊

2021-01-05 09:23:49

網頁端消息

2024-10-18 14:43:31

2019-04-26 13:55:02

Istio微服務架構

2009-05-06 16:10:17

Java傳值引用

2019-10-21 13:58:22

爬蟲互聯網程序員

2011-02-16 16:13:40

Debian

2009-07-14 18:09:08

Jython的內省

2019-02-14 10:10:11

系統廠商芯片

2020-05-07 10:53:04

人工智能技術開發

2020-05-06 18:32:37

人工智能AI制藥

2020-06-11 09:18:34

動靜分離架構架構設計開發

2019-06-04 14:15:08

JavaScript V8前端

2010-08-24 09:19:59

2019-07-22 15:29:53

JavaScriptGitHub語言

2018-05-30 15:29:56

2017-08-16 09:13:27

共享充電
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一本一道久久a久久精品蜜桃 | 欧美美女二区 | 一级片aaa| 一道本在线 | 国产精品视频久久久久 | 一区二区三区av夏目彩春 | 亚洲最大的黄色网址 | 天天综合天天 | 成人二区| 99re在线视频免费观看 | 91免费电影 | 99自拍视频 | 欧美精品在线一区二区三区 | 久久精品亚洲精品 | 国产午夜精品视频 | 牛牛热在线视频 | 欧美一级免费看 | 成人精品一区 | 色约约视频| 91精品国产乱码久久久久久久久 | 欧美一区二区三区四区五区无卡码 | 日本亚洲精品成人欧美一区 | 日韩视频三区 | 91影片| 日本黄色免费大片 | 国产美女精品视频 | 日韩精品在线观看视频 | 粉嫩一区二区三区国产精品 | 国产99久久| 国产小视频自拍 | 国产香蕉视频 | 亚洲精品播放 | 国产视频1区 | av一区二区三区四区 | 中文字幕第九页 | 国产精品污污视频 | 亚洲一区视频 | 日韩成人影院 | 欧美电影免费观看 | 中文字幕免费在线观看 | 欧美成人一级 |