一、依赖
<!--mapstruct核心-->
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct</artifactId>
<version>1.5.0.Beta1</version>
</dependency>
<!--mapstruct编译-->
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>1.5.0.Beta1</version>
</dependency>
二、抽象类或者接口
package com.example.demo.convert;
import com.example.demo.entity.ConvertDto;
import com.example.demo.entity.ConvertParam;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
@Mapper(componentModel = "spring")
public abstract class ConvertServce {
@Mapping(source = "convertParam.user.name",target = "name")
@Mapping(source = "convertParam.user.age",target = "age")
@Mapping(source = "convertParam.user.address",target = "address")
public abstract ConvertDto convert(ConvertParam convertParam);
}
三、控制器
@RestController
@AllArgsConstructor
public class MappingConvertController {
private final ConvertServce convertServce;
@PostMapping("/convert")
public ConvertDto mappingConvert(User user){
ConvertParam param = new ConvertParam();
param.setUser(user);
return convertServce.convert(param);
}
}