日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用beanUtils操纵bean的属性

發布時間:2025/6/17 编程问答 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用beanUtils操纵bean的属性 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

注意:使用beanUtils操縱bean的屬性時需要使用到的包有:commons-beanutils-1.8.3.jar???? commons-logging-1.1.1.jar

?

創建Demo1類來操作Person中的benan

View Code Person 1 package com.zyw.beanutils; 2 3 import java.util.Date; 4 5 public class Person { 6 private String name; 7 private String password; 8 private int age; 9 private Date birthday; 10 public Date getBirthday() { 11 return birthday; 12 } 13 public void setBirthday(Date birthday) { 14 this.birthday = birthday; 15 } 16 public String getName() { 17 return name; 18 } 19 public String getPassword() { 20 return password; 21 } 22 public int getAge() { 23 return age; 24 } 25 public void setName(String name) { 26 this.name = name; 27 } 28 public void setPassword(String password) { 29 this.password = password; 30 } 31 public void setAge(int age) { 32 this.age = age; 33 } 34 35 }

?

  Demo1

View Code Demo1 1 package com.zyw.beanutils; 2 3 import java.lang.reflect.InvocationTargetException; 4 import java.text.ParseException; 5 import java.text.SimpleDateFormat; 6 import java.util.Date; 7 import java.util.HashMap; 8 import java.util.Locale; 9 import java.util.Map; 10 11 import org.apache.commons.beanutils.BeanUtils; 12 import org.apache.commons.beanutils.ConversionException; 13 import org.apache.commons.beanutils.ConvertUtils; 14 import org.apache.commons.beanutils.Converter; 15 import org.apache.commons.beanutils.locale.converters.DateLocaleConverter; 16 import org.junit.Test; 17 18 //使用beanUtils操縱bean的屬性 ( 第三方) 19 public class Demo1 { 20 @Test 21 public void test1() throws Exception{ 22 Person p=new Person(); 23 BeanUtils.setProperty(p, "age", 456); 24 System.out.println(p.getAge());//456 25 } 26 @Test 27 public void test2() throws Exception{ 28 String name="aaaa"; 29 String age="123"; 30 String password="pw"; 31 32 Person p=new Person(); 33 //支持8種基本類型自動轉換 34 BeanUtils.setProperty(p, "name", name); 35 BeanUtils.setProperty(p, "age", age); 36 BeanUtils.setProperty(p, "password", password); 37 38 System.out.println(p.getName());//aaaa 39 System.out.println(p.getAge());//123 40 System.out.println(p.getPassword());//pw 41 42 } 43 @Test 44 public void test3() throws Exception{ 45 46 String birthday="1983-12-1"; 47 48 //為了讓日期賦值到bean的birthday屬性上,給beanUtils注冊一個日期轉換器 49 //ConvertUtils.register(converter, Date.class); 50 ConvertUtils.register(new Converter(){ 51 52 public Object convert(Class type, Object value) { 53 if(value==null) return null; 54 if(!(value instanceof String)){ 55 throw new ConversionException("只支持String類型的轉換"); 56 } 57 String str=(String)value; 58 if(str.trim().equals("")) return null; 59 SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd",Locale.US); 60 61 try { 62 return df.parse(str);//將String轉化為日期 63 } catch (ParseException e) { 64 throw new RuntimeException(e); 65 } 66 } 67 }, Date.class); 68 Person p=new Person(); 69 BeanUtils.setProperty(p, "birthday", birthday); 70 SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd HH-mm-ss"); 71 72 System.out.println(df.format(p.getBirthday()));//pw 73 System.out.println("___"+BeanUtils.getProperty(p, "birthday")); 74 } 75 public static void main(String[] args) throws IllegalAccessException, InvocationTargetException { 76 77 Map map=new HashMap(); 78 map.put("name", "aaa"); 79 map.put("password", "123"); 80 map.put("birthday", "1980-09-09"); 81 map.put("age", "23"); 82 //自帶的轉化器 有一個bug 其中brithday 不能為“” 83 ConvertUtils.register(new DateLocaleConverter(), Date.class); 84 Person p=new Person(); 85 //用map集合填充bean屬性,map關鍵字和bean屬性要一致 86 BeanUtils.populate(p, map); 87 88 System.out.println("name:"+p.getName()); 89 System.out.println("age:"+p.getAge()); 90 System.out.println("passw:"+p.getPassword()); 91 System.out.println("bir:"+p.getBirthday()); 92 93 } 94 }

?

  

?

轉載于:https://www.cnblogs.com/zyw-205520/archive/2012/08/29/2662197.html

總結

以上是生活随笔為你收集整理的使用beanUtils操纵bean的属性的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。