码迷,mamicode.com
首页 > 其他好文 > 详细

mapstract

时间:2020-04-23 19:02:22      阅读:50      评论:0      收藏:0      [点我收藏+]

标签:targe   pac   apach   color   ESS   java   ide   count   class   

什么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

标签:targe   pac   apach   color   ESS   java   ide   count   class   

原文地址:https://www.cnblogs.com/LQBlog/p/12762578.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!