嗨,我正在尝试在我的项目中使用映射框架,但我无法决定选择哪一个,其中有映射框架。Selma v/s MapStruct v/s Model Mapper 映射框架?
请帮助我选择最好的功能和面向性能的框架。
鉴于 Java 8 Stream API 和lombok注释处理器库,我不再使用此映射框架。我通过实现Converterspring 框架的接口创建了自己的映射器( package org.springframework.core.convert.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;
}
Run Code Online (Sandbox Code Playgroud)
之前我在寻找利用注释处理器的解决方案时也遇到过类似的情况。我会选择 Selma 或 MapStruct。有点类似于代码生成器。两者都玩过,但使用 MapStruct。SO中的类似问题可以帮助您 - Java mapping: Selma vs MapStruct
github 中的一个项目对对象映射器框架进行了基准测试,顶部有 Selma 和 MapStruct - https://github.com/arey/java-object-mapper-benchmark
| 归档时间: |
|
| 查看次数: |
14421 次 |
| 最近记录: |