我使用BeanUtils.copyProperties()
來bean到dto映射,當我需要映射所有字段和字段名稱相同時。但是我不需要源bean的所有字段都映射到目標dto,我使用了DozerBeanMapper.map()
,因爲在這種情況下我不知道要使用BeanUtils。BeanUtils.copyProperties()與DozerBeanMapper.map()
所以我認爲這兩種方法都有自己的功能,兩者之間沒有任何相似之處。我對嗎?請指導我。
我使用BeanUtils.copyProperties()
來bean到dto映射,當我需要映射所有字段和字段名稱相同時。但是我不需要源bean的所有字段都映射到目標dto,我使用了DozerBeanMapper.map()
,因爲在這種情況下我不知道要使用BeanUtils。BeanUtils.copyProperties()與DozerBeanMapper.map()
所以我認爲這兩種方法都有自己的功能,兩者之間沒有任何相似之處。我對嗎?請指導我。
您可能會收到ModelMapper。即使名稱不完全相同,它也會智能地映射屬性(字段/方法)。定義映射特定的屬性或跳過簡單,使用真正的代碼,而不是XML的:
ModelMapper modelMapper = new ModelMapper();
modelMapper.addMappings(new PropertyMap<Order, OrderDTO>() {
protected void configure() {
map().setBillingStreet(source.getBillingStreetAddress());
skip().setBillingCity(null);
}
});
退房的項目主頁瞭解更多信息:
我們認爲mapstruct我們的用例。請參見下面的示例:
@Mapper
public interface MyMapper {
MyMapper INSTANCE = Mappers.getMapper(MyMapper.class);
To to(From from);
}
這裏是MapStruct針對塞爾瑪Orika,ModelMapper,推土機和手動映射的性能比較: