Hamutaro - Hamtaro 4

Spring 3

[Java] Spring๊ณผ SpringBoot์˜ ์ฐจ์ด์ 

์„ค์ • ๋ฐ ๊ตฌ์„ฑ์Šคํ”„๋ง(Spring) : ์„ค์ •์ด ๋ณต์žก, ์ˆ˜๋™์œผ๋กœ ๋‹ค์–‘ํ•œ ์„ค์ •์„ ํ•ด์•ผํ•จ. bean ์„ค์ •, ์˜์กด์„ฑ ์ฃผ์ž… ์ค‘ ๋งŽ์€ ๊ตฌ์„ฑ์ด ํ•„์š”ํ•˜๋ฏ€๋กœ ์„ค์ • ํŒŒ์ผ์ด ์ปค์ง€๊ฑฐ๋‚˜ ๋ณต์žกํ•ด์งˆ ์ˆ˜ ์žˆ์Œ.์Šคํ”„๋ง๋ถ€ํŠธ(SpringBoot) : ์„ค์ •์„ ๊ฐ„์†Œํ™”ํ•˜์—ฌ ๊ธฐ๋ณธ๊ฐ’์„ ์ œ๊ณตํ•จ. ์ž๋™ ๊ตฌ์„ฑ์„ ํ†ตํ•ด ๊ธฐ๋ณธ ์„ค์ •์„ ์ž๋™์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋ฏ€๋กœ ๋น ๋ฅด๊ฒŒ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Œ. ๋‚ด์žฅ ์„œ๋ฒ„์Šคํ”„๋ง(Spring) : ์ผ๋ฐ˜์ ์œผ๋กœ ํ†ฐ์บฃ์ด๋‚˜ ์ œํ‹ฐ๊ฐ™์€ ์™ธ๋ถ€ ์„œ๋ฒ„์— ๋ฐฐํฌํ•ด์•ผํ•จ. ์„œ๋ฒ„ ์„ค์ •์„ ๋”ฐ๋กœ ํ•ด์•ผ ํ•จ.์Šคํ”„๋ง๋ถ€ํŠธ(SpringBoot) : ํ†ฐ์บฃ๊ฐ™์€ ๋‚ด์žฅ ์„œ๋ฒ„๋ฅผ ์ œ๊ณตํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์‰ฝ๊ฒŒ ํฌํ•จ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Œ. ๋”ฐ๋กœ ์™ธ๋ถ€ ์„œ๋ฒ„ ์„ค์น˜์—†์ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ JAR ํŒŒ์ผ๋กœ ๋งŒ๋“ค์–ด ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Œ. ์Šคํƒ€ํ„ฐ ํŒจํ‚ค์ง€์Šคํ”„๋ง(Spring) : ์˜์กด์„ฑ ๊ด€๋ฆฌ๋ฅผ ์ง์ ‘ ํ•ด์•ผ ํ•จ. ์—ฌ๋Ÿฌ ..

Backend/Java 2024.09.03

[Spring] MVC (Model, View,Controller) ํŒจํ„ด

MVC ํŒจํ„ด์ด๋ž€? Model, View, Controller์˜ ์•ฝ์ž๋กœ ๋””์ž์ธ ํŒจํ„ด์˜ ํ•˜๋‚˜์ด๋‹ค. ๋น„์ฆˆ๋‹ˆ์Šค ์ฒ˜๋ฆฌ ๋กœ์ง๊ณผ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌ๋ถ„์‹œ์ผœ ์„œ๋กœ ์˜ํ–ฅ์—†์ด ๊ฐœ๋ฐœ์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•œ๋‹ค. ๋ชจ๋ธ(Model)์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฐ์ดํ„ฐ์ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ์ƒ์ˆ˜, ๋ณ€์ˆ˜๋ทฐ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•˜๋ฉด ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ํ†ตํ•ด ๋ชจ๋ธ์„ ์ƒ์„ฑํ•˜๊ฑฐ๋‚˜ ๊ฐฑ์‹ ํ•จ๋ทฐ(View)์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์ง€๋Š” ์˜์—ญ. ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ์š”์†Œ์ปจํŠธ๋กค๋Ÿฌ(Controller)๋ชจ๋ธ๊ณผ ๋ทฐ๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๋‹ค๋ฆฌ ์—ญํ• ์ด๋ฒคํŠธ ๋“ฑ ๋ฉ”์ธ๋กœ์ง์„ ์ฒ˜๋ฆฌํ•จMVC ํŒจํ„ด์˜ ์žฅ์ ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ์„ธ๊ฐ€์ง€๋กœ ๋‚˜๋ˆ”์œผ๋กœ์จ ๊ฐ๊ฐ์˜ ๊ฐœ๋ฐœ์—๋งŒ ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋‹ค.์žฌ์‚ฌ์šฉ์„ฑ๊ณผ ํ™•์žฅ์„ฑ์ด ์šฉ์ดMVC ํŒจํ„ด์˜ ๋‹จ์ ํ”„๋กœ๊ทธ๋žจ์ด ๋ณต์žกํ•ด์งˆ์ˆ˜๋ก ๋ชจ๋ธ๊ณผ ๋ทฐ์˜ ๊ด€๊ณ„๋˜ํ•œ ๋ณต์žกํ•ด์ง

Backend/Spring 2022.01.12

[Spring] ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ (Spring Framework)

ํ”„๋ ˆ์ž„์›Œํฌ๋ž€? ๋ณต์žกํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ๋ณธ ๊ฐœ๋… ๊ตฌ์กฐ๋กœ, ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์˜ ํ‹€, ๋ผˆ๋Œ€๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.ํ‹€์„ ๋งŒ๋“ค์–ด๋†“๊ณ  ์‚ด์„ ๋ถ™์—ฌ ๋‚˜๊ฐ€๋Š” ๋ฐฉ์‹์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•˜๋Š” ์‹œ๊ฐ„์„ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ๋‹ค.ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ํŠน์ •๊ฐœ๋…๋“ค์˜ ์ถ”์ƒํ™”๋ฅผ ์ œ๊ณตํ•˜๋Š” ์—ฌ๋Ÿฌ ํด๋ž˜์Šค๋‚˜ ์ปดํฌ๋„ŒํŠธ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.  ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ ์ž๋ฐ” ํ”Œ๋žซํผ์„ ์œ„ํ•œ ์˜คํ”ˆ์†Œ์Šค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ๊ฐ„๋‹จํžˆ ์Šคํ”„๋ง์ด๋ผ๊ณ ๋„ ํ•œ๋‹ค.์ž๋ฐ” ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๊ฐœ๋ฐœ์„ ํŽธํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ์˜คํ”ˆ์†Œ์Šค ๊ฒฝ๋Ÿ‰๊ธ‰ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋ ˆ์ž„์›Œํฌ์ด๋‹ค.์ž๋ฐ”๊ฐœ๋ฐœ์„ ์œ„ํ•œ ํ‹€๋กœ, ์ข…์† ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•ด์ฃผ๊ณ  ์กฐ๋ฆฝํ•ด์ฃผ๋Š” ๋„๊ตฌ์ด๋‹ค.  ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ ํŠน์ง• ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ฐ„์˜ ๊ฒฐํ•ฉ์ด ๋А์Šจํ•˜๋‹ค.์ œ์–ด์˜ ์—ญํ–‰(IoC, Inversion of Control) ์„ ์ง€์›ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ปจํŠธ๋กค์˜ ์ œ์–ด๊ถŒ์ด ์‚ฌ์šฉ์ž๊ฐ€ ์•„๋‹ˆ๋ผ ํ”„๋ ˆ์ž„์›Œํฌ์— ..

Backend/Spring 2021.08.20