본문 바로가기

MapStruct4

[Java/Spring] (4) MapStruct - Mapper 세부 설정 Mapper 세부 설정 이번 포스트는 MapStruct를 설명하는 시리즈의 마지막 게시글입니다. 앞선 게시글들에서는 Mapper를 설정하는 방법과 @Mapping을 활용하는 방법들에 대해서 작성되었으며, 이번 포스트는 Mapper를 작성하는 시간을 줄여줄 수 있는 방법이나 어노테이션들에 대하여 작성될 예정입니다. 6. 구체적인 매핑 메서드 지정하기 앞선 게시글의 5.5. 에서는 커스텀 메서드를 만드는 방법에 대해서 알아보았다면, 이번에는 매핑 메서드를 지정하는 방식에 대해서 알아보겠습니다. 기본적으로 Mapper는 인자와 리턴값이 일치하는 커스텀 메서드가 있다면 그 메서드를 활용하지만, 어떤 케이스에서는 특정 메서드를 지정하고 싶을 수 있습니다. 이런 상황에서, MapStruct는 @Qualifier를 .. 2023. 1. 13.
[Java/Spring] (3) MapStruct - Mapping 필드 정의하기 2 Mapping 필드 정의하기 2 이번 포스트에서는 지난 포스트의 5.Mapping에 관련된 내용을 이어서 작성하고 있습니다. 이전의 내용이 궁금하다면 이전 게시글들을 참고하시길 바랍니다. MapStruct에 관한 게시글은 다음 게시글까지 작성 후 마무리할 예정입니다. 5. Mapping 지난 포스트에서는 Source에서 매핑될 필드를 무시하는 방법, 여러 Source를 조합하여 target을 만드는 방법, 그리고 source 내부의 객체를 target에 풀어서 적용하는 방법에 대해 작성하였습니다. 이어서, 이번에는 defaultValue, constant를 적용하는 방법과 expression을 활용하는 방법에 대해 서술할 예정입니다. Source와 Target의 정의 source : 매핑 될 객체, 값을.. 2023. 1. 13.
[Java/Spring] (2) MapStruct - Mapping 필드 정의하기 Mapping 필드 정의하기 지난 게시글에서는 MapStruct가 무엇인지, 그리고 Mapper는 어떻게 생성하는지에 대해 알아보았습니다. 이번 게시글에서는 Mapper 내부의 Mapping은 어떻게 해야 하는 지에 대해 작성되었습니다. 4. Mapper에서 사용되는 객체 본격적인 Mapping에 앞서, Mapping에서 사용되는 객체는 크게 2가지로 정의하며, 이는 source와 target이라고 합니다. source와 target에 대한 정의는 다음과 같습니다. source : 매핑 될 객체, 값을 가져오는 객체, getter가 필요합니다. target : 매핑 할 객체, 값을 넣어주는 객체, builder 또는 생성자 + setter가 필요합니다. source에서 target으로 매핑을 진행할 때,.. 2023. 1. 8.
[Java/Spring] (1) MapStruct를 활용해서 손쉽게 매핑하기 MapStruct를 활용해서 손쉽게 매핑하기 Spring Project에서 레이어 간 이동을 할 때, DTO를 생성해서 데이터를 이동시키곤 합니다. DTO 내부에 필드의 갯수가 정말 많다면, 단지 데이터를 이동시키는 코드만 작성하는데에도 정말 많은 시간이 소요되는데, 이러한 노가다성 작업은 MapStruct를 활용하여 쉽게 처리할 수 있습니다. 앞으로 몇 개의 게시글을 통해 MapStruct를 활용하는 법에 대한 내용을 작성할 예정입니다. 전반적인 내용은 MapStruct 공식 문서를 기반으로 작성되었습니다. 1. MapStruct란? MapStruct는 configuration 접근 방식의 규칙을 기반으로 한 Java 빈 타입의 매핑 구현을 단순화해주는 코드 생성기입니다. 생성된 매핑 코드는 일반 메서.. 2023. 1. 7.