在他们的文档(这里:see)中,他们提到@AfterMapping可以与@Qualifier / @Named一起使用以进行过滤,但是我找不到在任何地方以这种方式实际使用它。
我最好的猜测是像这样使用它:
@Mapper
public abstract class CustomerMapper {
@Named("Test")
public abstract Customer map(CustomerDto dto);
@Named("Test")
@AfterMapping
public void doAfterMapping(@MappingTarget Customer customer) {
//do stuff
}
}
但这似乎无济于事(如果我删除@Named批注,它可以工作,但是我也不想用它在其他方法中使用它。)有人知道如何使用它吗?
答案 0 :(得分:2)
我在他们的聊天室中得到了帮助,如果有人在寻找相同的东西,可以使用@BeanMapping这样实现:
@Mapper
public abstract class CustomerMapper {
@BeanMapping(qualifiedByName = "Test")
public abstract Customer map(CustomerDto dto);
@Named("Test")
@AfterMapping
public void doAfterMapping(@MappingTarget Customer customer) {
//do stuff
}
}