zoukankan      html  css  js  c++  java
  • BeanUtils.copyProperties的用法

    实现原理

    原理 target.set + source的属性名(source.get + source的属性名):所有source必须有get方法,target必须有set方法

    一、

    springframework.beans.BeanUtils.copyProperties(A,B):把A对象的属性值赋给B对象相应的属性

    commons.beanutils.BeanUtils.copyProperties(A,B):把B对象的属性值赋给A对象相应的属性

    二、

    1、属性名相同,类型相同 可以被复制

    2、基本类型 与 其对应的封装类型 可以被复制

    3、封装类型 与 其对应的基本类型 可以被复制

    4、其他统统不行

    三、

    如果希望哪个属性不被复制,使用重载方法

    public static void copyProperties(Object source, Object target, String... ignoreProperties) throws BeansException

    ignoreProperties传属性名称

    四、

    BeanUtils.copyProperties对bean属性进行复制,这里的复制属于浅复制。且不能复制集合和数组

    方法1效率更高

    解决方法1;

    // 通过JSON工具实现List的复制(不仅仅是List,数组和Map等也可以通过类似方法实现复制,需要有无参构造方法,否则报错)

    如:

    import com.alibaba.fastjson.JSON;

    List<Dog> A= new ArrayList<>();

    List<Dog> B= new ArrayList<>();

    B = JSON.parseArray(JSON.toJSONString(A),Dog.class);

    方法2:循环BeanUtils.copyProperties来复制

     

  • 相关阅读:
    JDK6和JDK7中的substring()方法
    考试结束
    今天之总结
    暂别
    珍惜
    放弃
    我男神
    心态
    稳住,我或许能赢
    还是做好自己吧
  • 原文地址:https://www.cnblogs.com/chao-zjj/p/9849881.html
Copyright © 2011-2022 走看看