MapStruct简介
MapStruct is a code generator that greatly simplifies the implementation of mappings between Java bean types based on a convention over configuration approach.
The generated mapping code uses plain method invocations and thus is fast, type-safe and easy to understand.
—— 引自MapStruct官网
MapStruct是一个开源的代码生成器,极大地简化了从一种Java对象到另一种Java对象的转换过程。
MapStruct常用注解
注解 | 说明 |
---|---|
@Mapper |
用于标注Mapper接口,MapStruct根据接口定义自动生成Mapper实现类。 |
@Mapping |
用于标注接口方法或者参数,指示源属性与目标属性之间的映射关系。可以通过source 和target 属性指定源和目标属性的名称。 |
@Mappings |
用于标注多个@Mapping 注解,方便在一个接口方法中定义多个属性的映射关系。 |
@Mapper
注解常用属性:
componentModel
属性:默认值为default
。在Spring项目中通过自动注入的方式使用MapStruct Mapper类,需要将componentModel
属性的属性值改为spring
。unmappedTargetPolicy
属性:指定目标对象中未映射属性的处理策略。默认为IGNORE
,表示忽略未映射的属性。其他可选值包括WARN
、ERROR
和REPORT
。