SELMA V/S MAPSTRUCT V/S模型映射器,它选择作为Java映射框架



嗨,我正在尝试在项目中使用映射框架,但是在这三个映射框架中,我无法决定选择哪一个。SELMA V/S MAPSTRUCT V/S模型映射映射框架?

请帮助我选择最佳功能和面向性能的框架。

鉴于Java 8流API和lombok注释处理器库,我不再使用此映射框架。我通过实现弹簧框架(package org.springframework.core.convert.converter.Converter)的Converter接口来创建自己的映射器

    @Component
    public class ProductToProductDTO implements Converter<Product, ProductDTO> {
        @Override public ProductDTO convert( Product source ) {
            ProductDTO to = ProductDTO.builder()
                    .name( source.getName())
                    .description( source.getDescription() )
                    .tags(source.getTags().stream().map(t -> t.getTag().getLabel()).collect( Collectors.toList()))
                            .build();
            return to;
        }
    }
    @Builder //lombok annotation to create Builder class
    @Data //lombok annotation to create getters & setters
    @AllArgsConstructor //required for @Builder
    public class ProductDTO  {
        private String name;
        private String description;
        private List<String> tags;
    }

当您单击此处时,您可以找到最常用的框架之间的完整比较。在此链接中,您可以找到基准比较,如何使用每个框架等。我决定使用MAPSTRUCT,因为它易于使用并且非常快。

i在寻找解决方案以利用注释处理器之前处于类似情况。我会选择塞尔玛或地图结构。Kinda类似的代码生成器。两者都玩过,但与Mapstruct一起进行了。此处的类似问题可以帮助您-Java映射:Selma vs Mapstruct

也是GitHub中的一个项目,将对象对象映射框架进行基准对象具有selma和mapstruct在顶部 - https://github.com/arey/java-object-mapper-mapper-benchmark

最新更新