Spring @Mapper

MoonDD·2023년 6월 27일
0

MapStruct를 사용하면서 알게 된 것들

@Mapper(componentModel = "spring", nullValueMappingStrategy = NullValueMappingStrategy.RETURN_DEFAULT)
public interface UserMapper {
    UserMapper INSTANCE = Mappers.getMapper(UserMapper.class);

    List<TbUserResponseDTO> toDtoList(List<TbUserEntity> entityList);

}
  • componentModel = "spring"
    -> spring에서 bean으로 등록하게 해준다. Mapper를 생성하는 건 비싸기 때문
  • nullValueMappingStrategy
    -> null인 값 매핑시 어떻게 해결할건지
  • UserMapper INSTANCE
    -> MapStruct에서 interface에서 INSTANCE로 선언하면 인스턴스를 새로 생성할 필요없이 싱글톤으로 생성된 인스턴스를 사용하게 된다.
  • @Mapper로 등록해두면 interface를 나중에 MapperImple로 구현해주는 것 같다.

0개의 댓글