javamappingdozerapache-commons-beanutils

BeanUtils.copyProperties() vs DozerBeanMapper.map()


I am using BeanUtils.copyProperties() for bean to dto mapping when I need to map all fields and field names are same. But I need not all field of source bean to map in destination dto, I used DozerBeanMapper.map() , because I haven't idea about to use BeanUtils in this situation.

So I think both methods having their own functionality, and there is no any similarity between both. Am I right? Please guide me.


Solution

  • You might check out my ModelMapper. It will intelligently map properties (fields/methods) even if the names are not exactly the same. Defining specific properties to be mapped or skipped is simple and uses real code instead of XML:

    ModelMapper modelMapper = new ModelMapper();
    modelMapper.addMappings(new PropertyMap<Order, OrderDTO>() {
      protected void configure() {
        map().setBillingStreet(source.getBillingStreetAddress());
        skip().setBillingCity(null);
      }
    });
    

    Check out the project homepage for more info:

    http://modelmapper.org