Встречается на собеседованиях • сегодня

Как работает MapStruct

MapStruct — это генератор кода для маппинга между Java-бинами. Он создает реализации интерфейсов мапперов на этапе компиляции, что делает его быстрым и типобезопасным.

Основные принципы:

  1. Генерирует код во время компиляции (не использует рефлексию)
  2. Требует только интерфейс с аннотациями
  3. Поддерживает сложные преобразования через @Mapping

Пример:

java
@Mapper
public interface CarMapper {
    CarMapper INSTANCE = Mappers.getMapper(CarMapper.class);

    @Mapping(source = "numberOfSeats", target = "seatCount")
    CarDto carToCarDto(Car car);
}

Особенности:

  • Автоматически маппит поля с одинаковыми именами
  • Поддерживает коллекции и вложенные объекты
  • Можно кастомизировать через @BeforeMapping/@AfterMapping
  • Интегрируется с Spring/CDI через componentModel

Производительность близка к ручному коду, так как генерируется чистый Java-код.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы