첫번째로 ModelMapper는 런타임 시에 코드를 생성한다는 점에서 우선순위에서 배제하기로 생각함. 왜냐하면 런타임 시 생성되는 코드는 에러를 잡기 정말 힘들기 때문임. 해당 코드를 디버깅 하기 위해선 무조건 프로그램을 실행한 뒤에 종단점을 잡아야 하는데, 스프링 프로젝트에서 위와 같은 방식으로 에러를 찾기란 어렵다고 판단했음.
그렇다면 Manual과 MapStruct 사이에서 선택을 해야 함. 스스로 간단하게 예측해보자면, Mapping할 클래스의 수나 크기가 작다면 Manual이 더 유리할 것이라고 생각했다. 왜냐하면, 알고리즘 문제를 풀어봐도 느낄 수 있듯이, 크기가 작다면 그냥 직접 메뉴얼로 만드는게 비용이 적게 들기 때문이다. 그러나 정확한 근거를 찾고 싶었다.
요약하자면, 프로젝트의 속성에 따라 갈린다고 한다. 내가 예측한 대로 크기가 크고, 복잡한 프로젝트에서 MapStruct가 적합하다고 한다. 그리고 크고 복잡하다는 판단의 정량적인 기준은 제시할 수 없다고 한다. 아마도 크고 복잡한 프로젝트라는 것은 내가 상상할 수 있는 수준은 아닐 듯 하다. 그래서 내가 만드는 프로젝트는 작고 귀엽기 때문에 Manual 방식으로 구현하기로 결정!
[객체 변환하기. 자바 코드 매핑 vs MapStruct vs ModelMapper?
해당 글은 MapStruct Library를 실무에서 사용하기 이전에 학습했던 예제와 장, 단점을 옮겨온 글입니다. (2022-10-26 수정 Benchmark 게시물 링크 추가) 현재 저는 약간의 수고로움을 감수하며 Java Code 기반
lob-dev.tistory.com](https://lob-dev.tistory.com/entry/%EA%B0%9D%EC%B2%B4-%EB%B3%80%ED%99%98%ED%95%98%EA%B8%B0-%EC%9E%90%EB%B0%94-%EC%BD%94%EB%93%9C-%EB%A7%A4%ED%95%91-vs-MapStruct-vs-ModelMapper)