hud*_*gen 13 java java-8 modelmapper
我通过官方文档http://modelmapper.org/getting-started/学习如何使用ModelMapper
有使用java 8进行显式映射的代码示例
modelMapper.addMappings(mapper -> {
mapper.map(src -> src.getBillingAddress().getStreet(),
Destination::setBillingStreet);
mapper.map(src -> src.getBillingAddress().getCity(),
Destination::setBillingCity);
});
Run Code Online (Sandbox Code Playgroud)
Ben*_*aye 38
我认为该示例调用addMappings
实际上是TypeMap.这有效:
// Create your mapper
ModelMapper modelMapper = new ModelMapper();
// Create a TypeMap for your mapping
TypeMap<Order, OrderDTO> typeMap =
modelMapper.createTypeMap(Order.class, OrderDTO.class);
// Define the mappings on the type map
typeMap.addMappings(mapper -> {
mapper.map(src -> src.getBillingAddress().getStreet(),
OrderDTO::setBillingStreet);
mapper.map(src -> src.getBillingAddress().getCity(),
OrderDTO::setBillingCity);
});
Run Code Online (Sandbox Code Playgroud)
没有lambdas的另一种方法是简单地给出addMappings
一个PropertyMap.不是lambda而是足够短:
ModelMapper modelMapper = new ModelMapper();
modelMapper.addMappings(new PropertyMap<Order, OrderDTO>() {
@Override
protected void configure() {
map().setBillingStreet(source.getBillingAddress().getStreet());
map().setBillingCity(source.getBillingAddress().getCity());
}
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8474 次 |
最近记录: |