ModelMapper是一个Java库,用于实现Java对象之间的映射。它提供了一个简单而强大的API,可以自动将一个对象的属性值复制到另一个对象中,而无需手动编写逐个属性的赋值代码。以下是使用ModelMapper类的示例代码:

1.导入ModelMapper库:
首先需要导入ModelMapper库,可以通过Maven或手动下载并添加到项目中。
Maven依赖:

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

2.创建ModelMapper对象:
创建一个ModelMapper对象,用于进行对象之间的映射。

import org.modelmapper.ModelMapper;

// 创建ModelMapper对象
ModelMapper modelMapper = new ModelMapper();
定义源对象和目标对象:
定义一个源对象和一个目标对象,这两个对象之间的属性映射将通过ModelMapper来实现。

public class SourceObject {
    private String property1;
    private int property2;
    // 其他属性和方法
}

public class TargetObject {
    private String property1;
    private int property2;
    // 其他属性和方法
}

3.进行对象之间的映射:
使用ModelMapper的map()方法将源对象的属性值映射到目标对象中。

SourceObject sourceObject = new SourceObject();
sourceObject.setProperty1("value1");
sourceObject.setProperty2(10);

TargetObject targetObject = modelMapper.map(sourceObject, TargetObject.class);

在上述代码中,ModelMapper将sourceObject对象的属性值映射到targetObject对象中,无需手动逐个赋值。

需要注意的是,ModelMapper在进行对象映射时,会自动匹配属性名相同且类型相同的属性,并将源对象的属性值复制到目标对象中。如果源对象和目标对象的属性名不完全相同,可以使用ModelMapper的配置功能进行属性名的映射配置。

完整的示例代码如下所示:

import org.modelmapper.ModelMapper;

public class SourceObject {
    private String property1;
    private int property2;
    // 其他属性和方法

    // getter和setter方法
}

public class TargetObject {
    private String property1;
    private int property2;
    // 其他属性和方法

    // getter和setter方法
}

public class Main {
    public static void main(String[] args) {
        // 创建ModelMapper对象
        ModelMapper modelMapper = new ModelMapper();

        // 创建源对象
        SourceObject sourceObject = new SourceObject();
        sourceObject.setProperty1("value1");
        sourceObject.setProperty2(10);

        // 进行对象之间的映射
        TargetObject targetObject = modelMapper.map(sourceObject, TargetObject.class);

        // 输出目标对象的属性值
        System.out.println(targetObject.getProperty1()); // 输出:value1
        System.out.println(targetObject.getProperty2()); // 输出:10
    }
}

以上示例代码演示了如何使用ModelMapper库进行对象之间的属性映射。


今夜有点儿凉
40 声望3 粉丝

今夜有点儿凉,乌云遮住了月亮。