关于java:如何使用ModelMapper库进行对象之间的属性映射

50次阅读

共计 1772 个字符,预计需要花费 5 分钟才能阅读完成。

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 库进行对象之间的属性映射。

正文完
 0