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,简单方便多了。
注意:要注意该方法使用的地方,不然很有可能出现属性值丢失的问题