<dependencies>
<!-- MapStruct Core -->
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-core</artifactId>
<version>1.4.2.Final</version>
</dependency>
<!-- MapStruct Processor -->
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>1.4.2.Final</version>
<scope>provided</scope>
</dependency>
</dependencies>
public class Person {
private String name;
private int age;
}
public class PersonDto {
private String name;
private int age;
}
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
@Mapper
public interface PersonMapper {
@Mapping(source = "name", target = "name")
@Mapping(source = "age", target = "age")
PersonDto personToPersonDto(Person person);
@Mapping(source = "name", target = "name")
@Mapping(source = "age", target = "age")
Person personDtoToPerson(PersonDto personDto);
}
public class Main {
public static void main(String[] args) {
Person person = new Person("John Doe", 30);
PersonDto personDto = PersonMapper.INSTANCE.personToPersonDto(person);
Person person2 = PersonMapper.INSTANCE.personDtoToPerson(personDto);
}
}