BeanUtils工具包操作JavaBean – JAVA編程語言程序開發技術文章

我們在操作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的形式描述
   
 
   }
 
}
摘自 yue7603835的專欄

發佈留言