ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

๋ฐ˜์‘ํ˜•

๋ฌธ์ œ

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)๋กœ ์ ‘๊ทผ ์ œํ•œ์ž๋ฅผ ์„ธํŒ…ํ•ด์ค˜์•ผ ํ•œ๋‹ค.

๋ฐ˜์‘ํ˜•
๋ฐ˜์‘ํ˜•
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
ยซ   2026/01   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
๊ธ€ ๋ณด๊ด€ํ•จ