7 подписчиков
Тот случай, когда такой маститый продукт как Mapstruct не следует рекомендациям Spring Framework...
О чем это я? Да о том, что при добавлении в Spring Application Context бинов проекта, нужно использовать инъектирование бинов через КОНСТРУКТОР, а не через приватные поля.
На картинке видно(я надеюсь, так как код рабочий и пришлось закрасить классы), что при создании маппера, который у себя внутри использует также другие мапперы, Mapstruct добавляет их не через КОНСТРУКТОР, а через приватные поля + аннотацию @Autowired..
И теперь из-за этого, чтобы потестировать работу этого маппера, мне нужно поднимать ApplicationContext(что бьет по скорости выпонления тестов, что плохо), а если бы было через конструктор, то мне нужно было бы всего лишь передать реализации этих мапперов и все.
Как говорится, можно было бы сделать и лучше)
Около минуты
24 ноября 2021