Java-內(nèi)省機(jī)制

JavaBean:相當(dāng)于一種規(guī)范,通常只包含一些信息字段和存儲(chǔ)方法,該類只有一些屬性和針對(duì)該屬性的get、set方法。沒(méi)有功能性方法。例如下面的User類就是一個(gè)JavaBean。
public class User {
    private String pname;
    private String price;
    
    public String getPname() {
        return pname;
    }
    public void setPname(String pname) {
        this.pname = pname;
    }
    public String getPrice() {
        return price;
    }
    public void setPrice(String price) {
        this.price = price;
    }
}
內(nèi)省機(jī)制:通過(guò)反射的方式操作JavaBean的屬性。
1.創(chuàng)建PropertyDescriptor對(duì)象,傳入屬性和字節(jié)碼對(duì)象
PropertyDescriptor propertyDescriptor = new PropertyDescriptor(屬性名稱,類);

columnName為數(shù)據(jù)庫(kù)中一個(gè)表的某個(gè)列名,而User.class為User類的字節(jié)碼對(duì)象
PropertyDescriptor propertyDescriptor = new PropertyDescriptor(columnName,User.class);

2.獲取屬性的set方法
Method writeMethod = propertyDescriptor.getWriteMethod();
3.根據(jù)set方法設(shè)置屬性
writeMethod.invoke(對(duì)象,參數(shù));
4.獲取屬性的get方法
Method readMethod = propertyDescriptor.getReadMethod();
5.根據(jù)get方法獲取屬性值
Object invoke = readMethod.invoke(對(duì)像,參數(shù));
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,545評(píng)論 19 139
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法,類相關(guān)的語(yǔ)法,內(nèi)部類的語(yǔ)法,繼承相關(guān)的語(yǔ)法,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚(yú)_t_閱讀 34,652評(píng)論 18 399
  • 國(guó)家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報(bào)批稿:20170802 前言: 排版 ...
    庭說(shuō)閱讀 12,365評(píng)論 6 13
  • 一. Java基礎(chǔ)部分.................................................
    wy_sure閱讀 4,011評(píng)論 0 11
  • 喂,快醒醒吧,別做夢(mèng)了。那些你想要的正漸漸在你做白日夢(mèng)的過(guò)程中腐爛消亡。你一邊不滿現(xiàn)在的生活,一邊埋葬自己的夢(mèng)想。...
    木安m閱讀 304評(píng)論 2 1

友情鏈接更多精彩內(nèi)容