๋ฐฑ์—”๋“œ

[Spring Boot ๊ตฌ์กฐ]

Onluvo 2025. 4. 5. 13:16

๊ธฐ๋ณธ์ ์ธ Spring Boot ํ”„๋กœ์ ํŠธ ์•„ํ‚คํ…์ฒ˜

DTO๋‚˜ ์ปจํŠธ๋กค๋Ÿฌ, ์„œ๋น„์Šค, ๋ฆฌํŒŒ์ง€ํ† ๋ฆฌ, ๋””๋น„๋ฅผ ๊ฒ€์ƒ‰ํ•ด๋ณด๊ณ  ๊ทธ ์—ญํ• ์— ๋Œ€ํ•ด ์ •๋ฆฌ

 

๐Ÿงฉ Controller:

๐Ÿ‘‰ ์š”์ฒญ์„ ๋ฐ›๊ณ 
๐Ÿ‘‰ ์–ด๋–ค ์„œ๋น„์Šค ๋กœ์ง์„ ์“ธ์ง€ ์ •ํ•ด์„œ ํ˜ธ์ถœํ•˜๊ณ 
๐Ÿ‘‰ ๊ฒฐ๊ณผ๋ฅผ ์‚ฌ์šฉ์ž(View)์— ๋ฐ˜ํ™˜

๐Ÿฝ๏ธ ๋น„์œ : ์†๋‹˜ → ์ง์›์—๊ฒŒ "๊น€์น˜๋ณถ์Œ๋ฐฅ" ์š”์ฒญ → ์ง์›์ด ์š”๋ฆฌ์‚ฌํ•œํ…Œ ์ „๋‹ฌ → ๋‹ค์‹œ ์†๋‹˜์—๊ฒŒ ์„œ๋น™


โš™๏ธ Service:

๐Ÿ‘‰ ์ง„์งœ "๋ฌด์—‡์„ ํ• ์ง€" ๊ฒฐ์ •ํ•˜๋Š” ํ•ต์‹ฌ ๋กœ์ง ๋‹ด๋‹น
๐Ÿ‘‰ Controller๊ฐ€ ์ „๋‹ฌํ•ด์ค€ ๋ฐ์ดํ„ฐ๋ฅผ ์‹ค์ œ๋กœ ์ฒ˜๋ฆฌ

๐Ÿณ ๋น„์œ : ์š”๋ฆฌ์‚ฌ! ์–ด๋–ค ์‹์œผ๋กœ ์š”๋ฆฌํ• ์ง€(๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง)๋ฅผ ์ฑ…์ž„์ง


๐Ÿ—‚๏ธ DAO / Repository:

๐Ÿ‘‰ ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์—ฐ๊ฒฐํ•ด์„œ CRUD๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฐ์ฒด
๐Ÿ‘‰ Service์˜ ์š”์ฒญ์„ ๋ฐ›์•„ ์ง„์งœ DB๋ฅผ ๋งŒ์ง€๋Š” ์˜์—ญ

๐Ÿ“ฆ ๋น„์œ : ์š”๋ฆฌํ•  ๋•Œ ์‹์žฌ๋ฃŒ๋ฅผ ์ €์žฅํ•ด๋†“์€ ์ฐฝ๊ณ !
์š”๋ฆฌ์‚ฌ๊ฐ€ ์žฌ๋ฃŒ ๊บผ๋‚ด์„œ ์š”๋ฆฌํ•˜๊ณ , ๋‚จ์€ ๊ฑด ๋‹ค์‹œ ๋„ฃ๊ณ 


๐Ÿ›๏ธ Entity:

๐Ÿ‘‰ DB ํ…Œ์ด๋ธ”๊ณผ 1:1๋กœ ๋งค์นญ๋˜๋Š” ๊ฐ์ฒด
๐Ÿ‘‰ ์ง„์งœ DB์— ์ €์žฅ๋˜๋Š” ์ •๋ณด์˜ ๊ตฌ์กฐ

๐Ÿงฑ ์‹ค์ฒด! ์‹ค์ œ๋กœ DB์—์„œ ์กฐ์ž‘๋˜๋Š” “์ง„์งœ” ๋ฐ์ดํ„ฐ


๐Ÿ“ฆ DTO (Data Transfer Object):

๐Ÿ‘‰ ๋ฐ์ดํ„ฐ๋ฅผ ์˜ฎ๊ธธ ๋•Œ ์‚ฌ์šฉํ•˜๋Š” “ํฌ์žฅ ์ƒ์ž”
๐Ÿ‘‰ ๋ณต์žกํ•œ ๋กœ์ง ์—†์ด ๊ทธ๋ƒฅ ๋ฐ์ดํ„ฐ๋งŒ ๋“ค๊ณ  ๋‹ค๋‹˜

๐Ÿ“ฎ ๋น„์œ : ์šฐ์ฒด๊ตญ ์ƒ์ž. ์•ˆ์— ๋ญ ๋“ค์—ˆ๋Š”์ง€ ๊ด€์‹ฌ ์—†์Œ. ๊ทธ๋ƒฅ "์šด๋ฐ˜"๋งŒ ์ž˜ ํ•˜๋ฉด ๋จ.


๐Ÿ’ก ๊ทธ๋ฆฌ๊ณ  ์ง„์งœ ์ค‘์š”ํ•œ ๊ฑฐ:

Entity์™€ DTO๋ฅผ ์™œ ๋ถ„๋ฆฌ?

 

  • Entity๋Š” DB์™€ ์ง์ ‘ ์—ฐ๊ฒฐ๋˜๋‹ˆ๊นŒ, ์—”ํ‹ฐํ‹ฐ์˜ ์ƒ๋ช…์ฃผ๊ธฐ, JPA ๊ด€๋ฆฌ ๋Œ€์ƒ์ด๋ผ๋Š” ์ ์ด ํ•ต์‹ฌ์ด๊ณ 
  • DTO๋Š” ๋ฐ์ดํ„ฐ ์ด๋™์„ ์œ„ํ•œ ์ผํšŒ์„ฑ/์ „๋‹ฌ์šฉ ๊ฐ์ฒด๋ผ์„œ ๋ฐ”๊นฅ์— ๋ณด์—ฌ์ฃผ๊ฑฐ๋‚˜ ๋ฐ›์„ ๋•Œ๋งŒ ์‚ฌ์šฉ

→ ์ฆ‰, ์—ญํ• ๊ณผ ์ƒ๋ช…์ฃผ๊ธฐ๊ฐ€ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๊ผญ ๋ถ„๋ฆฌํ•ด์„œ ์”€ 


๐Ÿ”ฅ ์š”์•ฝ:

๊ตฌ๋ถ„์—ญํ• ๋น„์œ 
Controller ์š”์ฒญ ๋ฐ›๊ณ , Service ํ˜ธ์ถœํ•˜๊ณ , ๊ฒฐ๊ณผ ์ „๋‹ฌ ์ง์›
Service ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ์ฒ˜๋ฆฌ ์š”๋ฆฌ์‚ฌ
Repository DB ์ ‘๊ทผ, CRUD ์‹คํ–‰ ์ฐฝ๊ณ  ๊ด€๋ฆฌ
Entity DB ํ…Œ์ด๋ธ” ๋งคํ•‘ ๊ฐ์ฒด ์žฌ๋ฃŒ ์›ํ˜•
DTO ๋ฐ์ดํ„ฐ ์ „๋‹ฌ ์šฉ๋„ ์šฐํŽธ ์ƒ์ž