MapStruct

用于pojo之间的相互转化

dto--->vo


模拟业务,先给DTO赋值,假装是各个do传过来的数据。


如果不用框架,只用setter,getter,需要写大量的代码。

为了规范代码把这些东西写到convert包里,用@mapper注解,首先是默认的映射。





我们发现,有几个赋值有问题,有几个没有赋值。所以我们将使用mapper注解的一些功能。

自定义功能,用@aftermapper。


批量转换(有提供方法,不需要自己写for循环去转换)


如果不想转换某些属性到Vo中,使用@BeanMapping(ignoreByDefault=true)

@InheritConfiguration用来更新,避免同样的配置写多份。

首先vehicleVo(id,name,brandName)
使用场景:Dto先给vehicleVo赋值,接着换一个Dto给vehicleVo更新。

@InheritInverseConfiguration 反向映射不用反过来再写一遍。注意:只继承@Mapping注解配置,不会继承@BeanMapping


与spring结合使用

想把convert类通过@autowride注解注入到服务实现类里。
必须在@mapper()里加上(componentModel="spring")。通过看target包我们发现。 实质就是给生成的类加一个@component

原文地址:https://www.cnblogs.com/zhuxiang1029/p/14907285.html