Spring Boot |集成MapStruct实现不同类型Java对象间的自动转换

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 用于标注接口方法或者参数,指示源属性与目标属性之间的映射关系。可以通过sourcetarget属性指定源和目标属性的名称。
@Mappings 用于标注多个@Mapping注解,方便在一个接口方法中定义多个属性的映射关系。

@Mapper注解常用属性:

  • componentModel属性:默认值为default。在Spring项目中通过自动注入的方式使用MapStruct Mapper类,需要将componentModel属性的属性值改为spring
  • unmappedTargetPolicy属性:指定目标对象中未映射属性的处理策略。默认为IGNORE,表示忽略未映射的属性。其他可选值包括WARNERRORREPORT

集成MapStruct

你可能感兴趣的:(java,后端)