modelmapper 简单智能的对象映射工具

对象映射工具很多,modelmapper 是另外一个不错的选择

特性

  • 智能,大部分已经帮助大家解决了映射处理
  • 便于代码重构
  • 基于约定
  • 可扩展

参考使用

具体源码可以参考官方文档

  • 源模型

 

 

  • 目的
@Data
public class OrderDTO {
    private  String customerFirstName;
    private  String customerLastName;
    private  String billingStreet;
    private  String billingCity;
}
  • 测试
public class Test {
    @org.junit.Test
    public  void  demo(){
        ModelMapper modelMapper = new ModelMapper();
        Order order=  new Order();
        Customer customer = new Customer();
        Name name = new Name();
        name.setFirstName("dalong");
        name.setLastName("demoapp");
        customer.setName(name);
        order.setCustomer(customer);
        Address address = new Address();
        address.setCity("beijing");
        address.setStreet("beijing");
        order.setBillingAddress(address);
        OrderDTO orderDTO = modelMapper.map(order, OrderDTO.class);
        assertEquals(order.getCustomer().getName().getFirstName(), orderDTO.getCustomerFirstName());
        assertEquals(order.getCustomer().getName().getLastName(), orderDTO.getCustomerLastName());
        assertEquals(order.getBillingAddress().getStreet(), orderDTO.getBillingStreet());
        assertEquals(order.getBillingAddress().getCity(), orderDTO.getBillingCity());
    }
}

说明

当然modelmapper 也提供了方便的周边集成,比如与数据库访问的,对于json 的处理也是支持的,算是一个很不错的工具包

参考资料

http://modelmapper.org/getting-started/

posted on   荣锋亮  阅读(195)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2021-01-23 cube.js 动态schema 编译处理
2017-01-23 Automating CSS Regression Testing
2014-01-23 vertx.io 与nodejs 一个简单的性能比较

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示