在mapstruct中同时使用Spring组件和普通类,可以通过以下步骤实现:
这样,你就可以在MapStruct中同时使用Spring组件和普通类了。
以下是一个示例代码:
// 目标对象类
public class TargetObject {
private String name;
// getter and setter
}
// 源对象类
@Service
public class SourceObject {
public String getName() {
return "John";
}
}
// Mapper接口
@Mapper(componentModel = "spring")
public interface ObjectMapper {
@Mapping(source = "name", target = "name")
TargetObject sourceToTarget(SourceObject source);
}
// 在你的代码中使用Mapper接口
@Service
public class YourService {
@Autowired
private ObjectMapper objectMapper;
public void doMapping() {
SourceObject source = new SourceObject();
TargetObject target = objectMapper.sourceToTarget(source);
System.out.println(target.getName()); // 输出:John
}
}
在上述示例中,我们使用了MapStruct来将SourceObject的属性映射到TargetObject中。SourceObject是一个使用了Spring注解的类,而TargetObject是一个普通的Java类。通过在Mapper接口中使用@MapperComponent注解,我们将Spring组件类引入到MapStruct中,实现了同时使用Spring组件和普通类的目的。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云