MapStruct 是一个 Java 注释处理器,用于为 Java Bean 类生成类型安全且高性能的映射器。它使您无需手动编写映射代码,这是一项繁琐且容易出错的任务。该生成器带有合理的默认值和许多内置的类型转换。
MapStruct 具有以下优势:
通过使用普通方法调用而不是反射来快速执行
编译时类型安全。只能映射彼此映射的对象和属性,因此不会意外地将订单实体映射到客户 DTO 等。
自包含代码 — 无运行时依赖性
在以下情况下,在构建时清除错误报告:
映射不完整(并非所有目标属性都已映射)
映射不正确(找不到正确的映射方法或类型转换)
易于调试的映射代码(或可手动编辑 — 例如,在生成器中出现错误的情况下)
要在两种类型之间创建映射,请声明一个映射器接口,如下所示:
@Mapper
public interface CarMapper {
CarMapper INSTANCE = Mappers.getMapper( CarMapper.class );
@Mapping(target = "seatCount", source = "numberOfSeats")
CarDto carToCarDto(Car car);
}
引用实例:
1、引入jar
<dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct</artifactId> <version>1.5.5.Final</vers