用mapstruct高效复制对象,却返回了空对象

一、mapstruct自动生成的错误实现类如下:(没有属性设置)
 @Override
public C dToC(D d) {
        if ( d== null ) {
            return null;
        }

        C c= new C();

        return c;
    }
二、需要在pom文件里配置注解处理器如下
<build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>{必须指定版本}</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <annotationProcessorPaths>
                        <path>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                            <version>{必须指定版本}</version>
                        </path>
                        <path>
                            <groupId>org.mapstruct</groupId>
                            <artifactId>mapstruct-processor</artifactId>
                            <version>{必须指定版本}</version>
                        </path>
                    </annotationProcessorPaths>
                </configuration>
            </plugin>
        </plugins>
    </build>

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MapStruct是一个Java注解处理器,用于生成类型安全的映射代码。它可以帮助我们在不同的Java对象之间进行映射转换,包括List对象。 在MapStruct中,我们可以使用@Mapper注解来标记一个接口或者抽象类作为映射器。然后,我们可以定义映射方法来指定如何将一个对象映射到另一个对象。 对于List对象的映射,我们可以使用@Mapping注解来指定列表中每个元素的映射规则。例如,我们可以使用@Mapping(source = "sourceList", target = "targetList")来指定源列表和目标列表之间的映射关系。 下面是一个示例代码,展示了如何在MapStruct中映射List对象: ```java @Mapper public interface MyMapper { MyMapper INSTANCE = Mappers.getMapper(MyMapper.class); @Mapping(source = "sourceList", target = "targetList") TargetObject map(SourceObject source); List<TargetObject> mapList(List<SourceObject> sourceList); } ``` 在上面的代码中,我们定义了一个名为MyMapper的映射器接口。通过使用@Mapper注解,我们告诉MapStruct生成相应的映射代码。 然后,我们定义了两个映射方法:map和mapList。map方法用于将单个SourceObject对象映射到TargetObject对象,而mapList方法用于将整个List<SourceObject>映射到List<TargetObject>。 使用MapStruct时,我们可以通过调用MyMapper.INSTANCE.map(source)来执行映射操作。同样地,我们可以通过调用MyMapper.INSTANCE.mapList(sourceList)来执行列表的映射操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值