Error Logs๐Ÿพ

Mapper ์—๋Ÿฌ

hae02y 2023. 7. 28. 01:56
๋ฐ˜์‘ํ˜•

๋ฌธ์ œ

DTO์™€ ์—”ํ‹ฐํ‹ฐ๋ฅผ ๋งคํ•‘ํ•˜๊ธฐ์œ„ํ•ด์„œ mapstruct๋ฅผ ์‚ฌ์šฉํ–ˆ๋Š”๋ฐ ๊ณ„์†ํ•ด์„œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. 

 

์ด๋Ÿฐ์‹์œผ๋กœ userName๊ณผ email์„ ์–‘์ชฝ์—์„œ ์ฐพ์•„์™€์„œ ์•Œ์•„์„œ ๋งคํ•‘์„ ํ•ด์ค˜์•ผ ๋˜๋Š”๋ฐ ์ •๋ง ์ด์ƒํ•˜๊ฒŒ๋„ Member์˜ ๋””ํดํŠธ ์ƒ์„ฑ์ž๊ฐ€ ์—†๋Š”๋ฐ๋„ new Member(); ์ด๋Ÿฐ์‹์œผ๋กœ meber๋ฅผ ๋ฆฌํ„ดํ•ด์คฌ๋‹ค.

์ด๊ฒƒ์ €๊ฒƒ ์ ์šฉ์„ ํ•˜๋Š๋ผ๊ณ  ํ™•์‹คํžˆ ์–ด๋–ค๋ฌธ์ œ์ธ์ง€๋Š” ์ฐพ์•„๋‚ด์ง€๋ชปํ–ˆ์ง€๋งŒ ๊ฐ€์žฅ ์œ ๋ ฅํ•œ๊ฑด ๋กฌ๋ณต๊ณผ mapsturct์˜ dependencies ์ˆœ์„œ์ธ๊ฒƒ๊ฐ™๋‹ค. (์ข€๋” ํ™•์ธ์ด ํ•„์š”ํ•˜๋‹ค.)

๋กฌ๋ณต์ด mapstruct ๋ณด๋‹ค ๋’ค์— ์„ ์–ธ๋˜์–ด์žˆ์œผ๋ฉด ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ• ์ˆ˜๋„ ์žˆ๋‹ค๊ณ  ํ•˜๋Š”๋ฐ ํ™•์‹คํ•œ์ง€๋Š” ๋ชจ๋ฅด๊ฒ ๋‹ค.

 

 

์ฐธ๊ณ ์‚ฌํ•ญ

1. ๋ณ€ํ™˜๊ณผ์ •์—์„œ ๋ณ€ํ™˜ ์ „์˜ ๊ฐ์ฒด์—์„œ ๊ฐ’์„ ๊บผ๋‚ด์™€์•ผ ํ•˜๋ฏ€๋กœ ๋ณ€ํ™˜ ์ „ ๊ฐ์ฒด(source) ์—๋Š” Getter๊ฐ€ ์žˆ์–ด์•ผ ํ•œ๋‹ค.
2. ๋ณ€ํ™˜๊ณผ์ •์—์„œ ๋ณ€ํ™˜ ํ›„์˜ ๊ฐ์ฒด(target) ์—๋Š” @Builder ๋˜๋Š” @AllArgsConstructor ๋˜๋Š” @Setter๊ฐ€ ์žˆ์–ด์•ผ ํ•œ๋‹ค.
3. @AllArgsConstructor, @NoArgsConstructor์ด ๊ฐ™์ด ์žˆ์„ ๊ฒฝ์šฐ ๊ธฐ๋ณธ ์ƒ์„ฑ์ž๋ฅผ ๋”ฐ๋ผ๊ฐ€๋ฏ€๋กœ ๋งคํ•‘์ด ์•ˆ๋œ๋‹ค. ์ด๋Ÿด๋•Œ๋Š” @NoArgsConstructor(access = AccessLevel.PROTECTED)๋กœ ์ ‘๊ทผ ์ œํ•œ์ž๋ฅผ ์„ธํŒ…ํ•ด์ค˜์•ผ ํ•œ๋‹ค.

๋ฐ˜์‘ํ˜•