관리 메뉴

제뉴어리의 모든것

MapStruct와 Lombok 사용시 주의 사항 본문

BugNote

MapStruct와 Lombok 사용시 주의 사항

제뉴어리맨 2022. 10. 2. 02:31

DTO와 Entity에 롬복의 

@Getter, @Setter를 사용한 상태에서

 

MapStruct로 맵핑을 하려고 할때

build.gradle에서 의존성 순서에 따라 MapStruct가 생성하는 Mapper의 구현체의 내용이 다르게 생성된다.

만약, MapStruct를 먼저 추가하고 Lombok의 의존성을 추가할 경우

Mapper 구현체안에 Setter와 Getter로 매핑을 해주는 내용이 생성되지 않는다.

그러므로 아래와 같이 꼭! Lombok을 먼저 추가하고, MapStruct를 후에 추가하자!

 	//Lombok
    compileOnly 'org.projectlombok:lombok'
    annotationProcessor 'org.projectlombok:lombok'

    //mapstruct
    implementation 'org.mapstruct:mapstruct:1.5.1.Final'
    annotationProcessor 'org.mapstruct:mapstruct-processor:1.5.1.Final'

 

 

결론 : MapStruct와 Lombok을 사용할 경우

dependencies {} 안에 Lombok 관련 의존성 먼저 추가하고, 후에 MapStruct 의존성을 추가하자.

 

 

참조 : https://wise-develop.tistory.com/18