🔥 현재상황
- 게시판 과제 구현
🤔 현재 겪고 있는 문제
❓ 팀원들에게 궁금한 부분
- Entity ↔ DTO 변환 어떻게 사용했는지?
- 강의에서 나온 Converter를 사용하거나
- DTO에서 메소드를 구현
- 유틸 클래스(
@UtilityClass
사용)
📁 팀원들에게 공유하고 싶은 부분
- Post 생성시 User 관리
- Service에서 Dto를 받아서 Id만 넘겨주고 있음
- mapstruct 라이브러리
- VO도 user.name.firstName 같이 타고타고 들어가서 작성할 수 있음
- 컴파일을 하면 Mapper 구현체가 생김 target/generated-source
- Builder - 생성자 둘중 하나 필요함 → 컴파일하면 알아서 만들어줌
@Mapper(componentModel = “spring” )
- 보통 스프링 생태계에서는 싱글톤이 메모리 관리에도 좋고 해서 빈으로 관리를 많이 사용함
- Mapper @Spy 를 통해서 테스트를 함
- 장점 : 노가다가 많이 줄어들음
- 단점
- 초기셋팅이 어렵다
- 롬복 - mapstruct 간에 충돌이 있음
- lombok-mapstruct-binding 을 사용해서 생성자나 빌더를 사용할 수 있도록 설정
- 문자열을 사용해서 작성하기때문에
- 오타가 나도 컴파일 타임에 잡아주질 않음
