1. 程式人生 > >黑馬程式設計師_BeanUtils包的使用,主要是BeanUtils和PropertyUtils的區別

黑馬程式設計師_BeanUtils包的使用,主要是BeanUtils和PropertyUtils的區別

  ----------------------    android培訓java培訓   期待與您交流!    ---------------------- 

用BeanUtils工具包時,先要把兩個Jar包進行Building Path,就是引入兩個jar包,

commons-beanutils.jar

commons-logging-1.1.jar

[java] view plaincopyprint?
  1. package com.base_super;  
  2. import java.util.Date;  
  3. import java.util.Map;  
  4. import
     org.apache.commons.beanutils.BeanUtils;  
  5. import org.apache.commons.beanutils.PropertyUtils;  
  6. /** 
  7.  * Apache 提供的BeanUtils工具包 
  8.  *  
  9.  * @author zjw 
  10.  * 
  11.  */
  12. publicclass BeanUtils_class {  
  13.     publicstaticvoid main(String[] args)throws Exception {  
  14.         methiod();  
  15.     }  
  16.     publicstaticvoid methiod() 
    throws Exception {  
  17.         JavaBean_BeanUtils_class bean=new JavaBean_BeanUtils_class(33,44);  
  18.         //如果用BeanUtils呼叫的JavaBean 一定要用public修飾,要不然報錯
  19.         System.out.println(BeanUtils.getProperty(bean,"b"));//其他資料型別都自動轉換為字串型別,進行輸入輸出
  20.         System.out.println(BeanUtils.getProperty(new JavaBean_BeanUtils_class(
    333,888),"a"));  
  21.         BeanUtils.setProperty(bean,"str","aaaaaaaaaaaaaaaaaaaaaa");//通過BeanUtils設定JavaBean的值
  22.         System.out.println(bean.getStr());  
  23.         //BeanUtils支援屬性鏈
  24.         Date d=new Date();  
  25. //      d.setHours(hours);
  26. //      d.setMinutes(minutes);
  27. //      d.setMonth(month);
  28. //      d.setSeconds(seconds);
  29. //      d.setYear(year);
  30. //      d.setTime(time);
  31. //      d.setDate(date);
  32. //      d.getDay();//這個getDay不行,所以一般用屬性鏈時,最好用set方法的屬性(自我總結)
  33.         //Date中封裝了這些個屬性,都可以用做屬性鏈,但每個屬性都有自己的長度等限制,用時小心點
  34.         BeanUtils.setProperty(bean,"birthday.time","333333");  
  35.         System.out.println(BeanUtils.getProperty(bean,"birthday.time"));  
  36.         /* 
  37.          * Map和JavaBean都是屬性,值的組合方式,很相似,可以同過BeanUtils工具相互轉換 
  38.          *  
  39.          */
  40.         //這是JDK1.7的新特性,Map的新的定義方式
  41. //      Map map={name:"wjw",age:23};
  42. //      System.out.println(BeanUtils.setProperty(map,"name","wjw_java"));//BeanUtils也可以對Map進行操作
  43.         /* 
  44.          * BeanUtils以字串型別進行操作 
  45.          * PropertyUtils以資料本身的型別進行操作 
  46.          */
  47.         PropertyUtils.setProperty(bean,"str","3331111");//str本身是字串型別
  48.         System.out.println(PropertyUtils.getProperty(bean,"str"));  
  49.         PropertyUtils.setProperty(bean,"a",99999999);//a本身是整形資料型別
  50.         System.out.println(PropertyUtils.getProperty(bean,"a"));  
  51.     }  
  52. }  
  53. 對應的JavaBean  
  54. package com.base_super;  
  55. import java.util.Date;  
  56. publicclass JavaBean_BeanUtils_class{  
  57.     privateint a;  
  58.     privateint b;  
  59.     private String str="dddddddd";  
  60.     private Date birthday =new Date();//例項化物件,用BeanUtils就可以使用Date中的屬性了
  61.     public JavaBean_BeanUtils_class(int a,int b){  
  62.         this.a=a;  
  63.         this.b=b;  
  64.     }  
  65.     publicint getA() {  
  66.         return a;  
  67.     }  
  68.     publicvoid setA(int a) {  
  69.         this.a = a;  
  70.     }  
  71.     publicint getB() {  
  72.         return b;  
  73.     }  
  74.     publicvoid setB(int b) {  
  75.         this.b = b;  
  76.     }  
  77.     public String getStr() {  
  78.         return str;  
  79.     }  
  80.     publicvoid setStr(String str) {  
  81.         this.str = str;  
  82.     }  
  83.     public Date getBirthday() {  
  84.         return birthday;  
  85.     }  
  86.     publicvoid setBirthday(Date birthday) {  
  87.         this.birthday = birthday;  
  88.     }  
  89. }  
  ----------------------    android培訓java培訓   期待與您交流!    ----------------------