<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct</artifactId>
<version>1.4.2.Final</version>
</dependency>
groovy
implementation 'org.mapstruct:mapstruct:1.4.2.Final'
@Mapper
public interface UserMapper {
UserDto toDto(User user);
User toEntity(UserDto userDto);
}
@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE)
public interface UserMapper {
UserDto toDto(User user);
User toEntity(UserDto userDto);
}
User user = new User();
user.setId(1L);
user.setName("John Doe");
UserDto userDto = userMapper.toDto(user);
@Mapper(componentModel = "spring", unmappedTargetPolicy = ReportingPolicy.IGNORE)
public interface UserMapper {
@Mapping(target = "fullName", expression = "java(user.getFirstName() + ' ' + user.getLastName())")
UserDto toDto(User user);
@InheritInverseConfiguration
User toEntity(UserDto userDto);
@BeforeMapping
default void beforeMapping(UserDto userDto) {
}
@AfterMapping
default void afterMapping(UserDto userDto, @MappingTarget User user) {
}
}