RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:8:30-17:00
你可能遇到了下面的问题
关闭右侧工具栏

新闻中心

这里有您想知道的互联网营销解决方案
Java中BeanUtils怎么用

这篇文章主要介绍Java中BeanUtils怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

成都创新互联-专业网站定制、快速模板网站建设、高性价比竹溪网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式竹溪网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖竹溪地区。费用合理售后完善,十多年实体公司更值得信赖。

BeanUtils使用步骤

步骤一:项目中导入commons-beanutils.jar包

步骤二:在项目中就可以使用对javaBean的一些相关操作,比如:

    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数据拷贝到javabean中(map的key要与javabean的属性名称一致)
 setProperty(Object bean, String name, Object value) 设置指定属性的值

案例

 1.创建一个学生实体类(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数据拷贝到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 );

// 设置指定的属性
   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在进行数据拷贝中,不管数据是否有值,会直接覆盖,这样就会存在有些需求无法满足的情况,不如说当拷贝的值为null时,不允许覆盖,可以进行如下操作:

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怎么用”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!


分享名称:Java中BeanUtils怎么用
浏览地址:http://lswzjz.com/article/gpcssp.html