BeanUtils 的使用; 它可以將基本數據類型的數據自動轉換
BeanUtils學習總結
Beanutils用了魔術般的反射技術,實現了很多夸張有用的功能,都是C/C++時代不敢想的。無論誰的項目,始終一天都會用得上它。我算是后知后覺了,第一回看到它的時候居然錯過。
BeanUtils提供對 Java反射和自省API的包裝。其主要目的是利用反射機制對JavaBean的屬性進行處理。我們知道,一個JavaBean通常包含了大量的屬性,很多情況下,對JavaBean的處理導致大量get/set代碼堆積,增加了代碼長度和閱讀代碼的難度。
顧名思義,Bean Utility就是Bean小工具,主要是封裝了反射(reflection)和自省(introspection)的API(可以查看java.lang.reflect和java.beans文檔),對bean進行操作。 主要功能: 操作Bean的屬性,針對Bean屬性排序,Bean和Map的轉換,創建動態的Bean等
Commons-Beanutils 這個是jakarta commons項目中的一個子項目。這個項目開發的目的是幫助開發者動態的獲取/設值Java Bean的屬性,同時解決每次都要寫getXXX和setXXX的麻煩。
對于BeanUtils這個工具,我也用的不是很多,但是還是有點心得和大家分享下,呵呵~~用過spring的都知道spring的MVC框架中有一個 BaseCommandController對象,利用這個對象我們就可以很方便的將從客戶端傳遞過來的參數封裝到一個JavaBean對象中去,而不需要我們request.getParameter("name");bean.setName(name);了,從而也簡化了不少的工作。
(1)Apache的Commons組件中,提供了一個有用的工具類BeanUtils,利用它能夠方便的將表單數據值填充值Bean中; (2)javax.servlet.ServletRequest.getParameterMap()
比較的是四種復制的方式,分別為Apache的BeanUtils和PropertyUtils,Spring的BeanUtils,Cglib的 BeanCopier。做法是在Eclipse新建了一個Project,專門用于專門測試幾種代碼的性能。具
第一次接觸 BeanUtils 是在學習 Struts 的過程中,在 Struts 中它被大量用于處理 FormBean 。 BeanUtils 主要提供了對于 JavaBean 進行各種操作,
Apache Commons包估計是Java中使用最廣發的工具包了,很多框架都依賴于這組工具包中的一部分,它提供了我們常用的一些編程需要,但是JDK沒能提供的機能,最大化的減少重復代碼的編寫。
BeanUtils是第三方jar包,不是sun公司開發的jar包中的jar文件。但是在開發中我們是常使用beanutils來操作javabean。 我們要使用BeanUtils來操作bean屬性,那么就必須將其導入到開發環境中。