import org.modelmapper.ModelMapper; public class Main { public static void main(String[] args) { // Create a ModelMapper instance ModelMapper modelMapper = new ModelMapper(); // Source object PersonDTO personDTO = new PersonDTO("John", 30); // Perform mapping to target object Person person = modelMapper.map(personDTO, Person.class); // Print the mapped object System.out.println(person.getName()); // Output: John System.out.println(person.getAge()); // Output: 30 } }<dependency> <groupId>org.modelmapper</groupId> <artifactId>modelmapper</artifactId> <version>2.4.2</version> </dependency>modelMapper.typeMap(Order.class, OrderDTO.class).addMappings(mapper -> { mapper.map(src -> src.getBillingAddress().getStreet(), Destination::setBillingStreet); mapper.map(src -> src.getBillingAddress().getCity(), Destination::setBillingCity); });ModelMapper modelMapper = new ModelMapper(); OrderDTO orderDTO = modelMapper.map(order, OrderDTO.class);// Assume getters and setters on each class class Order { Customer customer; Address billingAddress; } class Customer { Name name; } class Name { String firstName; String lastName; } class Address { String street; String city; }// Assume getters and setters class OrderDTO { String customerFirstName; String customerLastName; String billingStreet; String billingCity; }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());