参考博客:
基于Spring BeanUtils 实现 JavaBean克隆及属性拷贝
基于apache BeanUtils 实现 JavaBean克隆及属性拷贝
基于 MapStruct实现 JavaBean克隆及属性拷贝
Intellij 插件 GenerateO2O
实体类 Goods.java@Getter
@Setter
@ToString
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class Goods {
/**
* 编号
*/
private Long id;
/**
* 商品名称
*/
private String name;
/**
* 条形码
*/
private String barcode;
/**
* 原价
*/
private BigDecimal price1;
/**
* 优惠价
*/
private BigDecimal price2;
/**
* 库存数量
*/
private Integer amount;
/**
* 商品默认图片,大图
*/
private String img;
/**
* 商品图片列表
*/
private String pics;
/**
* 商品类别
*/
private Integer categoryId;
/**
* 产地县区编号
*/
private Integer countryId;
/**
* 详细产地
*/
private String addr;
/**
* 商品卖点:漂亮,便宜,流行
*/
private String sellPoint;
/**
* 显示优先级
*/
private Integer priority;
/**
* 商品状态:1上架,2下架,3删除,4促销,5推荐
*/
private Integer status;
/**
* 创建时间
*/
private LocalDateTime createTime;
/**
* 更新时间
*/
private LocalDateTime updateTime;
}
GoodsItem.java
@Getter
@Setter
@ToString
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class GoodsItem {
/**
* 编号
*/
private Long id;
/**
* 商品名称
*/
private String name;
/**
* 原价
*/
private BigDecimal price1;
/**
* 优惠价
*/
private BigDecimal price2;
/**
* 商品默认图片,大图
*/
private String img;
/**
* 商品卖点:漂亮,便宜,流行
*/
private String sellPoint;
}
测试代码
public class BeanUtilsTest {
public static void main(String[] args) {
Goods goods = DataUtil.build(Goods.class);
Goods g = new Goods();
BeanUtils.copyProperties(goods, g);
System.out.println(g);
GoodsItem goodsItem = new GoodsItem();
BeanUtils.copyProperties(goods,goodsItem);
System.out.println(goodsItem);
}
}