Java 为什么';在复制属性方面做不到任何工作?
我想使用BeanCoiler在以下两个对象之间进行属性复制:Java 为什么';在复制属性方面做不到任何工作?,java,spring,Java,Spring,我想使用BeanCoiler在以下两个对象之间进行属性复制: @Data @Builder @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode(callSuper = true) @TableName("t_order") public class Order extends BaseEntity { private static final long serialVersionUID=1L; private Lon
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@TableName("t_order")
public class Order extends BaseEntity {
private static final long serialVersionUID=1L;
private Long userId;
private Integer amount;
private Long productId;
}
对于以下代码
public static void main(String[] args) {
Order order = Order.builder().productId(3333L).userId(9999L).amount(32).build();
OrderDTO orderDTO = new OrderDTO();
BeanCopier orderCopier = BeanCopier.create(Order.class, OrderDTO.class, false);
orderCopier.copy(order, orderDTO, null);
JSONUtils.toJSONString(orderDTO);
}
orderDTO的属性没有设置,
orderDTO
的字段都是空的,怎么了?ohh缺少一个简单的东西,请添加getter和setter,Beancocore内部使用reflectils查找getter和setter
请尝试添加这些,然后进行测试
此外,还有另一种选择:
您可以简单地使用Spring的BeanUtils和它的copyProperties—有多个选项可用
您可以简单地将其用作
BeanUtils.copyProperties( sourceBean , targetBean );
你可以找到不同的例子Hi@lily,你能告诉我你实例化BeanCoiter的代码方式吗,你是如何创建的吗?更正了答案,缺少一件简单的事情:),让我知道它是否有效
BeanUtils.copyProperties( sourceBean , targetBean );