๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

TIL/Spring

๐Ÿ“š 1/31(์ˆ˜) ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„ Java-Spring 28์ผ์ฐจ TIL - Spring MVC ํŒจํ„ด

๐Ÿ“ ์˜ค๋Š˜์˜ ํ•™์Šต ํ‚ค์›Œ๋“œ

  • Spring MVC ํŒจํ„ด

 

 

 

 

๐Ÿ“ Spring MVC ํŒจํ„ด์ด๋ž€?

  MVC๋ž€ Model-View-Controller์˜ ์•ฝ์ž๋กœ, ์†Œํ”„ํŠธ์›จ์–ด ๋””์ž์ธ ํŒจํ„ด ์ค‘ ํ•˜๋‚˜์ด๋‹ค. ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์š”์†Œ๋“ค์„ Model, View, Controller๋กœ ๊ตฌ๋ถ„ํ•˜์—ฌ ๊ฐ๊ฐ์˜ ์—ญํ• ์„ ๋ถ„๋ฆฌํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์š”์†Œ๋“ค์„ ๋ถ„๋ฆฌํ•จ์œผ๋กœ์จ ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ์„ฑ๊ณผ ์œ ์ง€๋ณด์ˆ˜์„ฑ์„ ๋†’์ด๊ณ , ๊ฐœ๋ฐœ์ž๋“ค ๊ฐ„์˜ ํ˜‘์—…์„ ์šฉ์ดํ•˜๊ฒŒ ํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๊ฐœ๋ฐœํ•  ๋•Œ, MVC ํŒจํ„ด์„ ์ ์šฉํ•˜์—ฌ ๊ตฌ์กฐ๋ฅผ ์ž˜ ์„ค๊ณ„ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค.

 

<MVC ๋””์ž์ธ ํŒจํ„ด>

 

 

 

  • Model(๋ชจ๋ธ)
    • ๋ฐ์ดํ„ฐ์™€ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๋‹ด๋‹นํ•œ๋‹ค.
    • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์—ฐ๋™ํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ๋ถˆ๋Ÿฌ์˜ค๋Š” ๋“ฑ์˜ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.
    • Controller๋ฅผ ์ œ์™ธํ•˜๊ณ  ์ „๋ถ€ Model์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

  • View(๋ทฐ)
    • ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋‹ด๋‹นํ•œ๋‹ค.
    • ์‚ฌ์šฉ์ž๊ฐ€ ๋ณด๋Š” ํ™”๋ฉด๊ณผ ๋ฒ„ํŠผ, ํผ ๋“ฑ์„ ๋””์ž์ธํ•˜๊ณ  ๊ตฌํ˜„ํ•œ๋‹ค.
    • Resource์—์„œ ๋กœ์ง์„ ์‹คํ–‰ํ•˜๋Š” ๊ณณ์ด ์„œ๋น„์Šค์ด๋‹ค.

 

  • Controller(์ปจํŠธ๋กค๋Ÿฌ)
    • Model๊ณผ View์‚ฌ์ด์˜ ์ƒํ˜ธ์ž‘์šฉ์„ ์กฐ์ •ํ•˜๊ณ  ์ œ์–ดํ•œ๋‹ค.
    • ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ์„ ๋ฐ›์•„ Model์— ์ „๋‹ฌํ•˜๊ณ , Model์˜ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ View๋ฅผ ์—…๋ฐ์ดํŠธํ•œ๋‹ค.

 

https://docs.spring.io/spring-framework/reference/web/webmvc.html