真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Java中BeanUtils怎么用

這篇文章主要介紹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 properties) 將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();
        Set emptyNames = 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è)資訊頻道!


當(dāng)前文章:Java中BeanUtils怎么用
文章出自:http://weahome.cn/article/gpcssp.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部