๐ก ํ์ต ๋ชฉํ
ํจํค์ง ๋ฐ ํด๋ ๊ตฌ์กฐ ์ก๊ธฐ
ํจํค์ง(package)๋ ๊ด๋ จ๋ ํด๋์ค, ์ธํฐํ์ด์ค, ์๋ธํจํค์ง ๋ฑ์ ๊ทธ๋ฃนํํ์ฌ ์ ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. Java์์ ํจํค์ง๋ ๋ค์์คํ์ด์ค๋ฅผ ์ ๊ณตํ์ฌ ํด๋์ค ์ด๋ฆ ๊ฐ์ ์ถฉ๋์ ๋ฐฉ์งํ๊ณ , ๋ณด๋ค ์ฒด๊ณ์ ์ผ๋ก ์ฝ๋๋ฅผ ์กฐ์งํํ ์ ์๊ฒ ํฉ๋๋ค. ํจํค์ง๋ ๋ฌผ๋ฆฌ์ ์ผ๋ก ํ์ผ ์์คํ ์ ๋๋ ํ ๋ฆฌ์ ํด๋นํ๋ฉฐ, ํจํค์ง ๋ด์ ํด๋์ค๋ ์ธํฐํ์ด์ค๋ ์ด ๋๋ ํ ๋ฆฌ ๋ด์ ์์นํฉ๋๋ค.
์ฆ, ์ฐ๋ฆฌ๋ ์ฃผ ์ธ์ด ํ์ผ๋ค์ ๋ชจ์ ๋๋ ํด๋๋ฅผ ํจํค์ง๋ผ ๋ถ๋ฅด๊ฒ ์ต๋๋ค.
Spring boot WEB MVC ํ๋ ์ ์ํฌ์์๋
- ์ ์ ์์์ ๋๋ ํจํค์งcss, js, image ํ์ผ๋ฑ์ ๋ฃ์ด ๋ ์ ์์ต๋๋ค.
- src/main/resource/static(์ ์ ์์ ๋ฃจํธ ํด๋)
- ๋์ ์์(JSP ํ์ฉ)
- ์ด ์์ ์์๋ webapp/WEB-INF(๋ณด์ํด๋)/view/ ํ์์ผ๋ก ์์ฑํ ์์ ์ ๋๋ค.
- ์๋ฐ ์ฝ๋
- controller, service, dto, repos`itory/model, handler … ๋ฑ์ผ๋ก ์์ฑํ ์์ ์ ๋๋ค.
๐ก MVC ํจํด์ ๋ํ ๊ฐ๋ ์ ๋ฆฌ
MVC(๋ชจ๋ธ-๋ทฐ-์ปจํธ๋กค๋ฌ) ํจํด์ ์ํํธ์จ์ด ๋์์ธ ๋ฐ ์ํํธ์จ์ด ์ํคํ ์ฒ ํจํด ์ค ํ๋๋ก, ์ฃผ๋ก ์น ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ ์ฌ์ฉ์ ์ธํฐํ์ด์ค(UI) ๊ฐ๋ฐ์์ ๋ง์ด ์ฌ์ฉ๋ฉ๋๋ค. ์ด ํจํด์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ธ ๊ฐ์ง ์ฃผ์ ๊ตฌ์ฑ ์์๋ก ๋๋์ด ๊ด๋ฆฌํ๊ณ , ๊ฐ ๊ตฌ์ฑ ์์ ๊ฐ์ ์ํธ ์์ฉ์ ์กฐ์งํํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
- ๋ชจ๋ธ(Model): ๋ชจ๋ธ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋น์ฆ๋์ค ๋ก์ง, ๋ฐ์ดํฐ ๋ฐ ์ํ๋ฅผ ๋ํ๋ ๋๋ค. ๋ชจ๋ธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ํธ ์์ฉํ๊ฑฐ๋ ์ ํ๋ฆฌ์ผ์ด์ ๋ด๋ถ์์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๋ฉฐ, ๋ฐ์ดํฐ์ ์ํ๋ฅผ ์ ์งํ๊ณ ๊ด๋ฆฌํ๋ ์ญํ ์ ํฉ๋๋ค. ๋ชจ๋ธ์ ์ฃผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๊ณ ๋น์ฆ๋์ค ๋ ผ๋ฆฌ๋ฅผ ์ ์ํ๋๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
- ๋ทฐ(View): ๋ทฐ๋ ์ฌ์ฉ์ ์ธํฐํ์ด์ค(UI)๋ฅผ ๋ํ๋ ๋๋ค. ์ด๊ฒ์ ์ฌ์ฉ์์๊ฒ ์ ๋ณด๋ฅผ ํ์ํ๊ณ ๋ชจ๋ธ์์ ๊ฐ์ ธ์จ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉ์์๊ฒ ์๊ฐ์ ์ผ๋ก ํ์ํ๋ ์ญํ ์ ํฉ๋๋ค. ๋ทฐ๋ ์ฌ์ฉ์์ ์ํธ ์์ฉํ๊ณ ์ฌ์ฉ์ ์ ๋ ฅ์ ์ฒ๋ฆฌํ์ง ์์ผ๋ฉฐ, ๋จ์ํ ๋ฐ์ดํฐ๋ฅผ ํ์ํ๋ ์ญํ ์ ํฉ๋๋ค.
- ์ปจํธ๋กค๋ฌ(Controller): ์ปจํธ๋กค๋ฌ๋ ๋ชจ๋ธ๊ณผ ๋ทฐ ๊ฐ์ ์ํธ ์์ฉ์ ์กฐ์ ํ๋ ์ญํ ์ ํฉ๋๋ค. ์ฌ์ฉ์์ ์ ๋ ฅ์ ์ฒ๋ฆฌํ๊ณ ๋ชจ๋ธ์ ์ ๋ฐ์ดํธํ๋ฉฐ, ์ดํ์ ๋ชจ๋ธ์ ๋ณ๊ฒฝ ๋ด์ฉ์ ๋ฐ์ํ์ฌ ๋ทฐ๋ฅผ ๊ฐฑ์ ํฉ๋๋ค. ์ปจํธ๋กค๋ฌ๋ ์ฌ์ฉ์์ ์ํธ ์์ฉํ๊ณ ์ฌ์ฉ์ ์ ๋ ฅ์ ํด์ํ์ฌ ๋ชจ๋ธ ๋ฐ ๋ทฐ์ ๋ํ ์ ์ ํ ๋์์ ์ํํฉ๋๋ค.
MVC ํจํด์ ์ํํธ์จ์ด๋ฅผ ๋ถ๋ฆฌํ๊ณ ๋ชจ๋ํํ์ฌ ์ ์ง ๋ณด์์ฑ์ ๋์ด๊ณ ์ฝ๋์ ์ฌ์ฌ์ฉ์ฑ์ ์ฆ๊ฐ์ํค๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. ๋ํ ์ฌ๋ฌ ๊ฐ๋ฐ์๋ค์ด ๋์์ ์์ ํ๋ ๋๊ท๋ชจ ์ ํ๋ฆฌ์ผ์ด์ ์์ ํ ์์ ์ ๊ด๋ฆฌํ๊ณ ์ญํ ์ ๋ถ๋ดํ๊ธฐ ์ฝ๊ฒ ๋ง๋ค์ด์ค๋๋ค. ์ด ํจํด์ ์ฝ๋์ ๊ฐ๋ ์ฑ์ ํฅ์์ํค๊ณ ๋๋ฒ๊น ์ ์ฉ์ดํ๊ฒ ๋ง๋ค์ด ๊ฐ๋ฐ ๊ณผ์ ์ ๋จ์ํํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
์ฃผ์ : MVVM, MVP, VIPER ๋ฑ ๋ค์ํ ํจํด์ด ์กด์ฌํฉ๋๋ค. ํ์ง๋ง ๋ญ๊ฐ ๋ ์ข์ ํจํด์ด๋ผ๋ ๊ฐ๋ ์
์์ต๋๋ค. ๋ง๋ค๊ณ ์ ํ๋ ํ๋ก์ ํธ์ ์ฑ๊ฒฉ ๋ฐ ์์์ ๋ง๊ฒ ์ ํํด์ ์ฌ์ฉํ๋ค๊ณ ์ดํดํด ๋ด ์๋ค
'Backend > Java&Spring' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[bankApp04] ์ฝ๋ฉ ์ปจ๋ฒค์ (0) | 2025.01.14 |
---|---|
[BankApp02] ๋์์ธ ์์ (0) | 2025.01.14 |
[์ค์น ๋ฐ ํ๊ฒฝ์ค์ ] STS ์ค์น (0) | 2025.01.14 |
๋๊ธ