📜  java ModelMapper 类 - Java (1)

📅  最后修改于: 2023-12-03 15:01:31.636000             🧑  作者: Mango

Java - ModelMapper类

简介

ModelMapper是一个Java库,用于通过自动映射将一个Java对象的属性映射到另一个Java对象的属性。 ModelMapper是完全类型安全的,并且可以快速灵活地将数据从一个对象转换为另一个对象。

安装

你可以使用Maven将ModelMapper作为依赖项添加到你的项目中:

<dependency>
    <groupId>org.modelmapper</groupId>
    <artifactId>modelmapper</artifactId>
    <version>2.4.2</version>
</dependency>
示例

下面的代码示例说明如何使用ModelMapper将Player对象的属性映射到PlayerDTO对象的属性。

// 创建Player对象
Player player = new Player();
player.setFirstName("Rafael");
player.setLastName("Nadal");
player.setCountry("Spain");

// 创建ModelMapper并配置映射规则
ModelMapper modelMapper = new ModelMapper();
TypeMap<Player, PlayerDTO> typeMap = modelMapper.createTypeMap(Player.class, PlayerDTO.class)
        .addMappings(mapper -> mapper.map(src -> src.getCountry().toUpperCase(), PlayerDTO::setCountry));

// 将Player对象映射到PlayerDTO对象
PlayerDTO playerDTO = modelMapper.map(player, PlayerDTO.class);
System.out.println(playerDTO.toString());

输出:

PlayerDTO(firstName=Rafael, lastName=Nadal, country=SPAIN)
映射规则

ModelMapper支持以下类型的映射规则:

  • 映射相等类名的属性
  • 配置自定义规则进行映射
  • 配置值表达式进行映射
  • 排除属性或字段
  • 映射到非相等类名的属性
  • 递归映射

详见官方文档:https://modelmapper.org/user-manual/property-mapping/