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

์Šคํ”„๋ง Spring/๐Ÿงถ ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ Spring

Spring Model ๊ฐ์ฒด๋ž€ ๋ฌด์—‡์ผ๊นŒ?

by Meteora_ 2021. 6. 22.
728x90

Spring Model ๊ฐ์ฒด

Controller์˜ ๋ฉ”์„œ๋“œ๋Š” Model์ด๋ผ๋Š” ํƒ€์ž…์˜ ๊ฐ์ฒด๋ฅผ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค.


์ˆœ์ˆ˜ํ•˜๊ฒŒ JSP Servlet์œผ๋กœ ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ๋•Œ ๋ณดํ†ต request๋‚˜ session ๋‚ด์žฅ๊ฐ์ฒด์— ์ •๋ณด๋ฅผ ๋‹ด์•„ jsp์— ๋„˜๊ฒจ์ฃผ๊ณค ํ–ˆ๋Š”๋ฐ Spring์—์„œ๋Š” Model์ด๋ผ๋Š” ๋…€์„์„ ์“ด๋‹ค.


์ฆ‰ request.setAttribute() ์™€ ๋น„์Šทํ•œ ์—ญํ• ์„ ํ•˜๋Š” ๊ฒƒ.

 

request.setAttribute("time", new java.util.Date()); RequestDispatcher dispatcher = request.getRequestDispatcher("url"); dispatcher.forward(request, response);

์œ„ ์ฝ”๋“œ๋Š” jsp๋กœ ๊ฒŒ์‹œํŒ์„ ๋งŒ๋“ค๋•Œ ๋งŽ์ด ์‚ฌ์šฉํ–ˆ๋˜ ํ˜•ํƒœ์˜ ์ฝ”๋“œ์ด๋‹ค.
์Šคํ”„๋ง์—์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ฒ˜๋ฆฌํ•œ๋‹ค.

public String home(Model model) { model.addAttribute("time", new java.util.Date()); return "home"; }

ํŽธ๋ฆฌํ•œ ์ ์€ ๊ฐœ๋ฐœ์ž๋Š” ์ง์ ‘ model์„ ์ƒ์„ฑํ•  ํ•„์š”๋Š” ์—†๋‹ค. ๋‹ค๋งŒ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์„ ์–ธ๋งŒ ํ•ด์ฃผ๋ฉด ์Šคํ”„๋ง์ด ์•Œ์•„์„œ ๋งŒ๋“ค์–ด์ค€๋‹ค.

์Šคํ”„๋ง MVC์˜ Controller๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ Java Beans ๊ทœ์น™์— ๋งž๋Š” ๊ฐ์ฒด๋Š” ์ž๋™์œผ๋กœ ํ™”๋ฉด์— ์ „๋‹ฌํ•ด์ค€๋‹ค.
Java Beans์˜ ๊ทœ์น™์— ๋งž๋Š”๋‹ค๋Š” ๊ฒƒ์€ ๋‹จ์ˆœํžˆ ์ƒ์„ฑ์ž๊ฐ€ ์—†๊ฑฐ๋‚˜ ๋นˆ ์ƒ์„ฑ์ž๋ฅผ ๊ฐ€์ง€๋ฉฐ, getter/setter๋ฅผ ๊ฐ€์ง„ ํด๋ž˜์Šค์˜ ๊ฐ์ฒด๋“ค์„ ์˜๋ฏธํ•œ๋‹ค.
์ „๋‹ฌ๋  ๋•Œ๋Š” ํด๋ž˜์Šค๋ช…์˜ ์•ž๊ธ€์ž๋ฅผ ์†Œ๋ฌธ์ž๋กœ ์ฒ˜๋ฆฌํ•˜์—ฌ ์ „๋‹ฌํ•œ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๊ธฐ๋ณธ์ž๋ฃŒํ˜•(int, double๋“ฑ๋“ฑ)์€ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์„ ์–ธ๋˜์—ˆ๋”๋ผ๋„ ํ™”๋ฉด์— ์ž๋™์œผ๋กœ ์ „๋‹ฌ๋˜์ง€ ์•Š๋Š”๋‹ค.

๋Œ“๊ธ€