BeanUtils.copyProperties(productInfo, productInfoVO);

一:spring的工具类方法:BeanUtils.copyProperties(orderMasterDTO, orderMasterDO);

作用:将orderMasterDTO对象中的属性值,赋值到orderMasterDO中,其主要目的是利用反射机制对JavaBean的属性进行拷贝。

    /**
     * Copy the property values of the given source bean into the target bean.
     * <p>Note: The source and target classes do not have to match or even be derived
     * from each other, as long as the properties match. Any bean properties that the
     * source bean exposes but the target bean does not will silently be ignored.
     * <p>This is just a convenience method. For more complex transfer needs,
     * consider using a full BeanWrapper.
     * @param source the source bean
     * @param target the target bean
     * @throws BeansException if the copying failed
     * @see BeanWrapper
     */
    public static void copyProperties(Object source, Object target) throws BeansException {
        copyProperties(source, target, null, (String[]) null);
    }

二:好处:

不使BeanUtils.copyProperties(orderMasterDTO, orderMasterDO)方法的话,传统的做法是:手动将orderMasterDTO的属性值set到orderMasterDO中

OrderMasterDO orderMasterDO = new OrderMasterDO();
orderMasterDO.setOrderId(orderMasterDTO.getOrderId());
orderMasterDO.setBuyerName(orderMasterDTO.getBuyerName());
orderMasterDO.setOrderStatus(orderMasterDTO.getOrderStatus());
orderMasterDO.setCreateTimestamp(orderMasterDTO.getCreateTimestamp());
orderMasterDO.setUpdateTimestamp(orderMasterDTO.getUpdateTimestamp());

而使用了BeanUtils的工具方法,只需BeanUtils.copyProperties(orderMasterDTO, orderMasterDO)就可以ojbk,简单方便多了。

注意:要注意该方法使用的地方,不然很有可能出现属性值丢失的问题

原文地址:https://www.cnblogs.com/quan-coder/p/10186770.html