mapstract
Posted lqblog
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mapstract相关的知识,希望对你有一定的参考价值。
什么mapSturct
mapSturct
是一个生成类型安全, 高性能且无依赖的 JavaBean 映射代码的注解处理器(annotation processor)。通过动态生成代码实现,使代码易于调试和美观,
引入POM
<properties> <org.mapstruct.version>1.2.0.CR1</org.mapstruct.version> </properties> <dependencies> <!--mapStruct依赖--> <dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct-jdk8</artifactId> <version>${org.mapstruct.version}</version> </dependency> <dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct-processor</artifactId> <version>${org.mapstruct.version}</version> <scope>provided</scope> </dependency> </dependencies>
与lombok冲突解决
clean install就可以看到对应的实现类
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.7.0</version> <configuration> <source>${java.version}</source> <target>${java.version}</target> <annotationProcessorPaths> <path> <groupId>org.mapstruct</groupId> <artifactId>mapstruct-processor</artifactId> <version>${org.mapstruct.version}</version> </path> <path> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${lombok.version}</version> </path> </annotationProcessorPaths> </configuration> </plugin> </plugins> </build>
与Spring整合
//此注解在自动生成实现类会打上@Comment注解 我们只需要让Spring扫描就行了 @Mapper(componentModel = "spring") public interface MemberGradeConvert { public MemberGradeEntity editReqDtOToPo(EditReqDtO editReqDtO); }
简单使用
以上面为例自动在targer目录生成实现类
@Component public class MemberGradeConvertImpl implements MemberGradeConvert { public MemberGradeConvertImpl() { } public MemberGradeEntity editReqDtOToPo(EditReqDtO editReqDtO) { if (editReqDtO == null) { return null; } else { MemberGradeEntity memberGradeEntity = new MemberGradeEntity(); memberGradeEntity.setId(editReqDtO.getId()); memberGradeEntity.setName(editReqDtO.getName()); memberGradeEntity.setPoints(editReqDtO.getPoints()); memberGradeEntity.setDiscountRate(editReqDtO.getDiscountRate()); memberGradeEntity.setStatus(editReqDtO.getStatus()); memberGradeEntity.setMerchantId(editReqDtO.getMerchantId()); return memberGradeEntity; } } }
以上是关于mapstract的主要内容,如果未能解决你的问题,请参考以下文章