BeanUtils包的使用
BeanUtils工具包是由Apache公司所開發,主要是方便程序員對Bean類能夠進行簡便的操作。
在使用BeanUtils工具包之前我們需要的Jar包有以下幾種:
(1)?? BeanUtils相關包
commons-beanutils-1.8.3.jar
commons-beanutils-1.8.3-javadoc.jar
commons-beanutils-1.8.3-javadoc.jar
commons-beanutils-bean-collections-1.8.3.jar
commons-beanutils-core-1.8.3.jar
(2)?? Logic4j相關包
commons-logging.jar
log4j.jar
????? 既然要對Bean對象進行操作,那么就需要一個Bean的測試類,我們以下面為所測試的Bean類
1 public class Student { 2 3 4 5 private String name; 6 7 private int age; 8 9 private Date birth; 10 11 12 13 14 15 public String getName() { 16 17 return name; 18 19 } 20 21 public void setName(String name) { 22 23 this.name = name; 24 25 } 26 27 public int getAge() { 28 29 return age; 30 31 } 32 33 public void setAge(int age) { 34 35 this.age = age; 36 37 } 38 39 public Date getBirth() { 40 41 return birth; 42 43 } 44 45 public void setBirth(Date birth) { 46 47 this.birth = birth; 48 49 } 50 51 52 53 }一、先賦值Bean對象里的字段屬性,然后再取值:
?
1 @Test 2 3 public void test01() throws Exception{ 4 5 //1.加載類 6 ? 7 Class clss = Class.forName("com.L.introspector.Student"); 8 9 //2.創建Bean對象 10 ? 11 Student st = (Student) clss.newInstance(); 12 13 //3.通過BeanUtils給對象屬性賦值 14 ? 15 BeanUtils.setProperty(st, "name", "L。"); 16 17 //4.輸出對象屬性值 18 ? 19 String str = BeanUtils.getProperty(st, "name"); 20 21 System.out.println(str); 22 23 }BeanUtils的setProperty(object,name,value)方法需要的參數分別是
Object=加載類的對象
Name=類屬性的名稱
Value=所賦的值;
BeanUtils的getProperty(object,name)方法的返回值是String類型,所以可以直接輸出;
二、 使用BeanUtils自帶的時間轉化器轉化時間
?
1 @Test 2 3 public void test03() throws Exception{ 4 5 //創建Student Bean對象 6 ? 7 Student st = new Student(); 8 9 //使用自帶轉化器轉化時間格式 10 ? 11 ConvertUtils.register(new DateLocaleConverter(), Date.class); 12 13 //賦值給birth屬性 14 ? 15 BeanUtils.setProperty(st, "birth", "1991-09-25"); 16 17 //輸出birth屬性的值 18 ? 19 System.out.println(st.getBirth()); 20 21 }三、 自定義日期格式轉換器
?
1 @Test 2 3 public void test04()throws Exception{ 4 5 //創建Student對象 6 7 Student st = new Student(); 8 9 //使用CovertUtils注冊創建一個日期格式轉換器 10 11 ConvertUtils.register(new Converter() { 12 13 14 15 @Override 16 17 public Object convert(Class type, Object value) { 18 19 //當value參數等于空時返回空 20 21 if(value==null){ 22 23 return null; 24 25 } 26 27 //自定義時間的格式為yyyy-MM-dd 28 29 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-mm-dd"); 30 31 //創建日期類對象 32 33 Date dt = null; 34 35 36 37 try { 38 39 //使用自定義日期的格式轉化value參數為yyyy-MM-dd格式 40 41 dt = sdf.parse((String)value); 42 43 } catch (ParseException e) { 44 45 // TODO Auto-generated catch block 46 47 e.printStackTrace(); 48 49 } 50 51 //返回dt日期對象 52 53 return dt; 54 55 } 56 57 }, Date.class); 58 59 //給birth賦值 60 61 BeanUtils.setProperty(st, "birth", "1991-09-25"); 62 63 //輸出 64 65 System.out.println(st.getBirth()); 66 67 }ConvertUtils.register(new Converter()中,new Converter()就相當于重寫了Converter類中方法:
???????Public class MyConerter implements Converter{
????????????? //并且在此處創建了匿名的對象
}總結
以上是生活随笔為你收集整理的BeanUtils包的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JAVA知识学习——类的修饰符
- 下一篇: Java 文件上传组件 Apache C