BeanUtils工具包操作JavaBean
我們在操作JavaBean的時候 我們可以用Introspector的方式來操作,但是呢這樣需要我們寫大量的代碼 。
Apache小組為我們提供了很有用的工具包來操作JavaBean 也就是BeanUtils工具包 ,這個可以到 apache.org 上面下載 commons-BeanUtils工具包,同時我們也要下載Logging也就是日志工具包 。
我們下載好了BeanUtils工具包之后 打開之后 發現你面有一個docs 那個就是幫助文檔 介紹了 Beanutils工具包中各種類的使用 ,這里 我們主要用到BeanUtils類
BeanUtils類中的所有方法都是靜態方法 我們通過它的getProperty setProperty方法 等等方法 這里我們主要用到BeanUtils類
首先我們應該將jar包加入到Eclipse的BuildPath中 然后我們才能使用BeanUtils工具包中的各種類
下面是一個簡單的JavaBean
package me.test; import java.util.Date; public class BeanTest { private int x ; private Date birthday=new Date() ; public BeanTest(int x) { this.x=x ; } public int getX() { return x; } public void setX(int x) { this.x = x; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } }
下面是操作
package me.test; import java.lang.reflect.InvocationTargetException; import java.util.*; import org.apache.commons.beanutils.BeanUtils; public class Test { public static void main(String []args) throws IllegalAccessException, InvocationTargetException, NoSuchMethodException { BeanTest t=new BeanTest(6) ; BeanUtils.setProperty(t,"x", 7);//設置x屬性 ,利用BeanUtils設置值的時候 值可以是任意原始類型 也可以是String類型 在web開發中我們用到的都是String類型 因為網頁間傳遞的是字串 如果我們不想進行字符串轉換 那個就用 PropertyUtils類 和 BeanUtils類有著同樣的作用只不過 PropertyUtils 不進行類型的轉換 System.out.println(BeanUtils.getProperty(t,"x")); //返回x屬性 BeanUtils.setProperty(t,"birthday.year", "111") ; //這是birthday的year的屬性值 System.out.println(BeanUtils.getProperty(t,"birthday.year")); //BeanUtils可以進行級聯設置 Map m=BeanUtils.describe(t); //將JavaBean的各種屬性以及值以Map的形式描述 } }
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!