Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么';在复制属性方面做不到任何工作?_Java_Spring - Fatal编程技术网

Java 为什么';在复制属性方面做不到任何工作?

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

我想使用BeanCoiler在以下两个对象之间进行属性复制:

@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 );