java中的内省 (Introspector)
2019獨角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
2、JavaBean:》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
(1)一種特殊類,傳遞數(shù)據(jù)信息,成員方法用于訪問自身私有字段,方法名符合某種命名規(guī)則;
(2)倆模塊傳遞信息,使用JavaBean(值對象(Value Object),或“VO”);
(3)信息存儲在私有變量中,通過set()、get()獲得;
3、什么是內(nèi)省(Introspector):》》》》》》》》》》》》》》》》》》》》》》》》》》
(1)JDK提供一套 API 用來訪問某個屬性的 getter/setter 方法;
(2)java語言對JavaBean類的屬性、事件的一種缺省處理方法;
4、PropertyDescriptor類表示JavaBean類通過存儲器導(dǎo)出一個屬性。主要方法:》》》》》》》
??? 1. getPropertyType(),獲得屬性的Class對象;
??? 2. getReadMethod(),獲得用于讀取屬性值的方法;
????????? ?3.getWriteMethod(),獲得用于寫入屬性值的方法;
??? 3. hashCode(),獲取對象的哈希值;
??? 4. setReadMethod(Method readMethod),設(shè)置用于讀取屬性值的方法;
??? 5. setWriteMethod(Method writeMethod),設(shè)置用于寫入屬性值的方法。
5、Introspector類:》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
(1)封裝JavaBean屬性進(jìn)行操作;
(2)調(diào)用BeanInfo beanInfo=Introspector.getBeanInfo(),將一個類當(dāng)成是JavaBean;
(3)PropertyDescriptor[] proDescrtptors=beanInfo.getPropertyDescriptors();
6、BeanUtils:》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
(1)內(nèi)省操作非常繁瑣,所以Apache開發(fā)了一套簡單、易用的API操作Bean屬性:BeanUtils工具包;
(2)org.apache.commons.beanutils.BeanUtils;
(3)BeanUtils.setProperty(userInfo,"age",8);
7、BeanUtils特點:》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
(1)對基本類型自動轉(zhuǎn)換;
(2)引用類型類中必須有對象,不能是null;
8、struts就用了內(nèi)省機制,有set方法就有屬性,不需要成員變量;》》》》》》》》》》》》》
9、java中的反射(reflection):》》》》》》》》》》》》》》》》》》》》》》》》》》》》》》
(1)運行時獲取一個類的所有信息,包括.class的任何定義的信息(成員 變量,成員方法,構(gòu)造器等);
(2)可以操縱類的字段、方法、構(gòu)造器等部分;
(3)內(nèi)省基于反射實現(xiàn),主要用于操作JavaBean,獲取bean的getter/setter;
轉(zhuǎn)載于:https://my.oschina.net/u/3847203/blog/1808712
《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的java中的内省 (Introspector)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 7、字典和string的用法
- 下一篇: java的面向对象的四大特征