Найти тему
7 подписчиков

Тот случай, когда такой маститый продукт как Mapstruct не следует рекомендациям Spring Framework...


О чем это я? Да о том, что при добавлении в Spring Application Context бинов проекта, нужно использовать инъектирование бинов через КОНСТРУКТОР, а не через приватные поля.

На картинке видно(я надеюсь, так как код рабочий и пришлось закрасить классы), что при создании маппера, который у себя внутри использует также другие мапперы, Mapstruct добавляет их не через КОНСТРУКТОР, а через приватные поля + аннотацию @Autowired..

И теперь из-за этого, чтобы потестировать работу этого маппера, мне нужно поднимать ApplicationContext(что бьет по скорости выпонления тестов, что плохо), а если бы было через конструктор, то мне нужно было бы всего лишь передать реализации этих мапперов и все.

Как говорится, можно было бы сделать и лучше)
Тот случай, когда такой маститый продукт как Mapstruct не следует рекомендациям Spring Framework... О чем это я?
Около минуты