嗨,我正在尝试在项目中使用映射框架,但是在这三个映射框架中,我无法决定选择哪一个。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