我有两个bean类,如下面的
package com.abc;
public class Employee{
private String id;
private String name;
//setters & getters
}
和
package com.cda;
public class EmployeeDTO{
private String id;
private String name;
//setters & getters
}
我想使用spring xml配置将属性字段从Employee设置为EmployeeDTO。数据来自其他来源的员工对象。
请你帮我解决这个问题。
答案 0 :(得分:0)
使用apache或spring框架中的BeanUtils代替。注意这两种方式的论证定位。他们正好相反:
org.apache.commons.beanutils.BeanUtils.copyProperties(Object dest, Object orig)
OR
org.springframework.beans.BeanUtils.copyProperties(Object source, Object target)
答案 1 :(得分:0)
这实际上不是春天为你做的任务。 Spring更多的是将所有依赖对象连接在一起,它们在运行时一起工作。您需要的是像mapstruct或enter link description here这样的映射器。
答案 2 :(得分:0)
让我们考虑一个场景 Employee从数据源获取数据,现在您想将其映射到EmployeeDto 在这种情况下:
EmployeeDto employeeDto = modelMapper.map(employee, EmployeeDto.class);
可以使用import org.apache.commons.beanutils.BeanUtils;
EmployeeDto newObject = new EmployeeDto();
BeanUtils.copyProperties(newObject, oldObject);
reference ObjectMapper mapper = new ObjectMapper();
Employee employee = ...;
EmployeeDto employeeDto = mapper.convertValue(employee, EmployeeDto.class);