关于mapstruct的转换时机问题

来源:4-26 【解决方案】Spring Boot集成MapStruct,完美解决数据库与数据模型映射问题

迪鼎

2024-05-11

老师 想问一下 使用在mapstruct中使用装饰类和接口中的default方法可以分别替换@After和@before啊,那这两个注解还有存在的意义吗

感觉这个是在干after的事啊
@Override
    public Metadata metadataCopier(TDataCenterMetadata metadata) {
        Metadata mdModel = delegate.metadataCopier(metadata);
        mdModel.setSex(Objects.equals(metadata.getSex(), 1) ? "男生":"女生");
        return mdModel;
    }
这些都在干before的事啊?
@Named("toCollectWay")
    default Integer toCollectWay(CollectWayEnum collectWayEnum){
        return collectWayEnum.getSourceValue();
    }

    @Named("toCollectWayEnum")
    default CollectWayEnum toCollectWay(Integer collectWay){
        return CollectWayEnum.parse(collectWay);
    }
写回答

1回答

Tim老师

2024-05-11

确实一般情况下你可以用这些default方法实现和这些注解一样的功能,但是并不代表这些注解没有存在的意义。就default方法而言,如果你要实现多个字段计算一个字段的逻辑,你要怎么做呢?先不问这个需求的合理性,就default方法而言,应该是做不了的,但是用注解就能轻松实现
0
2
Tim老师
回复
迪鼎
不客气,加油~
2024-05-11
共2条回复

SpringBoot3.0 + RocketMq 构建企业级数据中台

SpringBoot3.0 + RocketMq 构建企业级数据中台

201 学习 · 63 问题

查看课程