最近项目开发中,用到了很多领域模型,(POJO 专指只有 setter / getter/ toString 的简单类,包括 DO/DTO/BO/VO 等),然后遇到了很多模型属性自动转换的情景,
初期直接使用了set,get方法,但是导致了大量的垃圾代码, 后来研究一下,发现可以利用一些工具类的来完成而转换
BeanUtils.copyProperties(source, target);可以按照同名同类型来复制属性,但是局限于效率和不能自定义扩展。
ModelMapper modelMapper = new ModelMapper(); target =modelMapper.map(source ,Class<z>);该方法的优势就是可以自定义转换关系,实现不同的属性,不同类型的属性的复制,应用很广泛,但是也有一些缺点,就是没有的属性会为空值