Java copyProperties()与DozerBeanMapper.map()的比较

Java copyProperties()与DozerBeanMapper.map()的比较,java,mapping,dozer,apache-commons-beanutils,Java,Mapping,Dozer,Apache Commons Beanutils,当我需要映射所有字段并且字段名相同时,我使用for-bean-to-dto映射。但我不需要将源bean的所有字段都映射到我使用的目标dto中,因为我不知道在这种情况下使用BeanUtils 所以我认为这两种方法都有自己的功能,两者之间没有任何相似之处。我说得对吗?请引导我 您可以退房。它将智能地映射属性(字段/方法),即使名称不完全相同。定义要映射或跳过的特定属性很简单,并且使用真实代码而不是XML: ModelMapper modelMapper = new ModelMapper(); mo

当我需要映射所有字段并且字段名相同时,我使用for-bean-to-dto映射。但我不需要将源bean的所有字段都映射到我使用的目标dto中,因为我不知道在这种情况下使用BeanUtils

所以我认为这两种方法都有自己的功能,两者之间没有任何相似之处。我说得对吗?请引导我

您可以退房。它将智能地映射属性(字段/方法),即使名称不完全相同。定义要映射或跳过的特定属性很简单,并且使用真实代码而不是XML:

ModelMapper modelMapper = new ModelMapper();
modelMapper.addMappings(new PropertyMap<Order, OrderDTO>() {
  protected void configure() {
    map().setBillingStreet(source.getBillingStreetAddress());
    skip().setBillingCity(null);
  }
});
ModelMapper ModelMapper=newmodelmapper();
addMappings(新属性映射(){
受保护的void configure(){
map().setBillingStreet(source.getBillingStreetAddress());
skip().setBillingCity(空);
}
});
有关更多信息,请查看项目主页:


我们在用例中考虑了mapstruct。请参见下面的示例:

@Mapper
public interface MyMapper {

    MyMapper INSTANCE = Mappers.getMapper(MyMapper.class);

    To to(From from);

}
以下是MapStruct与Selma、Orika、ModelMapper、Dozer和手动映射的性能比较:


MapStruct和BeanUtils.copyProperties()之间有什么共同点吗?ModelMapper很好,但速度很慢