這篇文章主要介紹Java中BeanUtils怎么用,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!
成都創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比竹溪網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式竹溪網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋竹溪地區(qū)。費(fèi)用合理售后完善,十多年實體公司更值得信賴。
BeanUtils使用步驟
步驟一:項目中導(dǎo)入commons-beanutils.jar包
步驟二:在項目中就可以使用對javaBean的一些相關(guān)操作,比如:
1). 給對象賦值:BeanUtils.setProperty(對象, 屬性名, 屬性值);
2). 把一個javaBean的屬性拷貝到另一個javaBean對象中: BeanUtils.copyProperties(源對象,新對象);
...
BeanUtils 常用方法
常用方法 | 描述 |
---|---|
copyProperties(Object dest, Object orig) | 對象拷貝 |
copyProperty(Object bean, String name, Object value) | 指定屬性拷貝到指定的對象中 |
cloneBean(Object bean) | 對象的克隆 |
populate(Object bean, Map | 將map數(shù)據(jù)拷貝到j(luò)avabean中(map的key要與javabean的屬性名稱一致) |
setProperty(Object bean, String name, Object value) | 設(shè)置指定屬性的值 |
案例
1.創(chuàng)建一個學(xué)生實體類(Student.java)
public class Student{
private String name;
private int age;
private String sex;
public Student() {
}
getXxx和setXxx省略……
}
2.測試BeanUtils的常見用法
@Test
public void BeanUtilsTest() throws Exception {
Map map = new HashMap();
map.put("name", "張三");
map.put("age", 12);
map.put("sex", "男");
// 將map數(shù)據(jù)拷貝到Student中
Student stu= new Student();
BeanUtils.populate(stu, map);
//Student [name=張三, age=12, sex=男]
System.out.println(stu);
// 對象的拷貝
Student stu1 = new Student ();
BeanUtils.copyProperties(stu , stu1 );
//Student [name=張三, age=12, sex=男]
System.out.println(stu1);
// 拷貝指定的屬性
Student stu2 = new Student ();
BeanUtils.copyProperty(stu2 , "name", "李四");
// Student [name=李四, age=0, sex=null]
System.out.println(stu2 );
// 設(shè)置指定的屬性
BeanUtils.setProperty(stu2, "sex", "女");
// Student [name=李四, age=0, sex=女]
System.out.println((stu2);
// 克隆對象
Object object = BeanUtils.cloneBean(stu2);
// Animal [name=李四, age=0, sex=女]
System.out.println(object);
}
注意事項:BeanUtils在進(jìn)行數(shù)據(jù)拷貝中,不管數(shù)據(jù)是否有值,會直接覆蓋,這樣就會存在有些需求無法滿足的情況,不如說當(dāng)拷貝的值為null時,不允許覆蓋,可以進(jìn)行如下操作:
public static String[] getNullPropertyNames (Object source) { final BeanWrapper src = new BeanWrapperImpl(source); java.beans.PropertyDescriptor[] pds = src.getPropertyDescriptors(); SetemptyNames = new HashSet (); for(java.beans.PropertyDescriptor pd : pds) { Object srcValue = src.getPropertyValue(pd.getName()); if (srcValue == null) emptyNames.add(pd.getName()); } String[] result = new String[emptyNames.size()]; return emptyNames.toArray(result); }
BeanUtils.copyProperties(源對象,新對象,getNullPropertyNames (源對象));
以上是“Java中BeanUtils怎么用”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!