JavaWeb BeanUtils信息類原理詳解
這篇文章主要介紹了JavaWeb BeanUtils信息類原理詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
一.BeanInfo
1.BeanInfo是JavaBean類的信息類,一個(gè)javaBean的信息封裝在對(duì)應(yīng)beanInfo對(duì)象中
2.要獲取到beanInfo,一般通過(guò)一個(gè)內(nèi)省類Introspector的一個(gè)方法getBeanInfo(Class<T> beanClass),給個(gè)javaBean的類型就會(huì)返回對(duì)應(yīng)的beanInfo對(duì)象,該方法的底層就是通過(guò)反射實(shí)現(xiàn)的
3.Bean常用的方法:
1.MethodDescriptor[] getMethodDescriptors():獲取到j(luò)avaBean對(duì)象的方法描述符對(duì)象的數(shù)組,
2.PropertyDescriptor[] getPropertyDescriptors():獲取到j(luò)avaBean對(duì)象的屬性描述符對(duì)象的數(shù)組,有了PropertyDescriptor對(duì)象我們就可以獲取到讀寫(xiě)(get/set)的方法了,有了方法我們就可以通過(guò)反射來(lái)調(diào)用該方法了
3.流程如圖:

二.BeanUtils
1.有兩個(gè)jar包已經(jīng)封裝好了上面內(nèi)省的機(jī)制:
commons-beanutils(里面依賴的是內(nèi)省)和commons-logging兩個(gè)jar包,所以上面流程圖的操作不需要我們做了
2.beanUtils下有三個(gè)方法非常方便:
?。?)void setProperty(bean, name, value):第一個(gè)參數(shù)是javaBean對(duì)象,二是屬性名,三是屬性值
?。?)String getProperty(bean, name):第一個(gè)參數(shù)是javaBean對(duì)象,二是屬性名
?。?)void populate(bean, map):把一個(gè)map的屬性封裝到bean對(duì)象中,map的Key屬性名必須跟bean中屬性的名稱一樣,兩者都相同
3.當(dāng)對(duì)javaBean對(duì)象操作時(shí),很多時(shí)候我們會(huì)用到BeanUtils
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
java.Net.UnknownHostException異常處理問(wèn)題解決
這篇文章主要介紹了java.Net.UnknownHostException異常處理方法,問(wèn)題原因是在系統(tǒng)的?/etc/Hostname中配置了主機(jī)名,而在/etc/hosts文件中沒(méi)有相應(yīng)的配置,本文給大家詳細(xì)講解,需要的朋友可以參考下2023-03-03
Maven指令打包SpringBoot項(xiàng)目提示沒(méi)有主清單文件問(wèn)題
在Java開(kāi)發(fā)中,打包Jar時(shí)常會(huì)遇到“沒(méi)有主清單屬性”的錯(cuò)誤,這通常是因?yàn)樵趐om.xml文件中沒(méi)有正確配置maven插件導(dǎo)致的,特別是在使用自定義的<parent/>節(jié)點(diǎn)而非spring-boot-starter-parent時(shí)2024-09-09
JavaWeb項(xiàng)目打開(kāi)網(wǎng)頁(yè)出現(xiàn)Session Error的異常解決方案
這篇文章主要介紹了JavaWeb項(xiàng)目打開(kāi)網(wǎng)頁(yè)出現(xiàn)Session Error的異常解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10
關(guān)于SpringBoot中的請(qǐng)求映射及使用
這篇文章主要介紹了關(guān)于SpringBoot中的請(qǐng)求映射及使用,Spring Boot 中的授權(quán)機(jī)制,包括基于角色的授權(quán)和基于資源的授權(quán),同時(shí),我們也將給出相應(yīng)的代碼示例,幫助讀者更好地理解和應(yīng)用這些授權(quán)機(jī)制,需要的朋友可以參考下2023-07-07
Mybatis查詢數(shù)據(jù)的項(xiàng)目實(shí)現(xiàn)
MyBatis通過(guò)XML配置文件或注解,把Java對(duì)象映射到對(duì)應(yīng)的數(shù)據(jù)庫(kù)表中,實(shí)現(xiàn)對(duì)象關(guān)系和數(shù)據(jù)關(guān)系的互相轉(zhuǎn)換,從而使得Java應(yīng)用程序能夠更簡(jiǎn)單的操作和讀取數(shù)據(jù)庫(kù),本文就詳細(xì)的介紹一下如何實(shí)現(xiàn),感興趣的可以了解一下2023-09-09
Java實(shí)現(xiàn)淘寶秒殺聚劃算搶購(gòu)自動(dòng)提醒源碼
這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)淘寶秒殺聚劃算搶購(gòu)自動(dòng)提醒源碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02

