Повторно использовать оформленный картограф с Mapstruct - PullRequest
0 голосов
/ 24 мая 2019

Я использую MapStruct 1.3.0.Final для преобразования Dtos в POJO и наоборот со значением spring в mapstruct.defaultComponentModel . Чтобы избежать ошибок переполнения стека из-за двунаправленных связей, я перешел по следующей ссылке:

Отображение с циклами

Некоторые из этих преобразователей были оформлены в соответствии с инструкциями, включенными в:

Настройка картографов с использованием декораторов

Вопрос:

Как я могу использовать украшенные конвертеры в других, используя опцию использует ?

Следуя примеру, приведенному во второй ссылке, я протестировал:

@Mapper(componentModel="spring", uses={PersonMapper.class})
public interface OtherMapper

@Mapper(componentModel="spring", uses={PersonMapperDecorator.class})
public interface OtherMapper

Но я не достиг, чтобы OtherMapper использовал PersonMapperDecorator.

1 Ответ

0 голосов
/ 25 мая 2019

При использовании декоратора MapStruct с компонентной моделью Spring необходимо работать только с картографом, а не с декоратором.

В вашем примере вы должны использовать

@Mapper(componentModel = "spring", uses = PersonMapper.class)
public interface OtherMapper {
    ...
}

Это приведет к добавлению декоратора PersonMapper с введенным оригинальным преобразователем (PersonMapper).

...