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 的处理也是支持的,算是一个很不错的工具包
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用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 一个简单的性能比较