๋ณธ ๋ด์ฉ์ ์ธํ๋ฐ ์คํ๋ง ์ ๋ฌธ ๋ฌด๋ฃ๊ฐ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ฑ๋์์ต๋๋ค.IntellijJava JDK 11์น ํ๋ก์ ํธ๋ฅผ ์งํํ๊ธฐ ์ , ๋ฐฑ์๋ ์ง์์ด ํ์ํ์ฌ ์คํ๋ง์ ๊ณต๋ถํ๊ฒ ๋์๋ค.์ ์ ํ์ค์ด๊ธฐ๋ ํ๊ณ ํ์ฌ๊น์ง ๋จ์ํ API์ ๋์ ๋ฐฑ์๋๋ง ๊ตฌ์ถํด ๋ณธ์ง๋ผ, ์น์์์ ๋ฐฑ์๋์
View๋ฅผ ๋ง๋ค์ด์ ์น ํ์ด์ง๋ฅผ ์ค์ ๋ก ๋์๋ณด์.์ด์ ํฐ์ผ ์๋ฒ์ ์ ์ํ์ ๋, ์๋ฌด๋ฐ ํ์ผ์ด ์์์ผ๋ฏ๋ก ํ์ดํธ ์๋ฌ๊ฐ ๋ฐ์ํ์๋ค.์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์๋ src/main/static์ index.html์ ์ถ๊ฐํด์ฃผ๋ฉด ๋๋ค.์ด์ ๋ค์ ์คํ ํ, ์ ์ํด๋ณด๊ฒ ๋๋ฉด ์ฒซ ํ๋ฉด์ธ
API ๊ฐ์ฒด JSON return JSON์ returnํ๋ APIํํ์๋ ๋ช๊ฐ์ง ๊ท์น์ด ์๋ค. ํด๋น ๋ด์ฉ์ ์๋นํ ๋ด๋ถ์ ์ธ ๋ถ๋ถ์ ์๊ฑฐํด์ ๋์ํ๋ค. ์ฒซ์งธ, ๊ฐ์ฒด๋ฅผ return ์ ํด๋น ์๋ณธ ํด๋์ค์ ๋ฉค๋ฒ๋ณ์์๋ ๋ฐ๋์ "๊ฒํฐ" ์กด์ฌํด์ผ ํ๋ค. ์ฝ๊ฒ ๋งํด, ๊ฐ์ฒด์
์คํ๋ง ์ปจํ ์ด๋์ ์ฌ์ฉ ์ด์ ๋ฐ Bean, Config๋ฑ์ ๋ค๋ค๋ณด์.ํ๋ก์ ํธ๋ฅผ ํ๋ค๋ณด๋ฉด ์ปจํธ๋กค๋ฌ, ์๋น์ค, ๋ฆฌํฌ์งํ ๋ฆฌ์ ๊ด๊ณ์์ ์๋ก๊ฐ Dependency Injection์ด ์กด์ฌํ๋ค.์ฆ, ์ปจํธ๋กค๋ฌ๋ ์๋น์ค์๊ฒ ์์กด์ ์ด๊ณ , ์๋น์ค๋ ๋ฆฌํฌ์งํ ๋ฆฌ์ ์์กด์ ์ด๋ค.์ด๋ฌํ ์์กด์ฑ
๊ฐ์์ค๋ ๋๋จ๋๊น ์ผ๋ ๊ธ์ด ๋ค ์ฌ๋ผ์ก๋ค.์ค์๋ก ์ฐฝ ๋ซ๊ธฐ๋ฅผ ๋๋ ๋๋ฐ ๋ญ๊ฐ ์ด๋ป๊ฒ ๋๊ฑด์ง, ๊ธฐ์กด ์คํ ์ธ์ด๋ธ ๋ ๋ถ๋ถ๊น์ง, ์ ๋ถ ์ญ์ ๋ ์ํ๋ก ๋ฐฑ์ง๋ก ์ ์ฅ๋์ด์์๋ค,๋ฏธ์น๋ ์ค ์์๋ค.๊ทธ๋์ ๊ทธ๋ฅ ์ ๋ฆฌํ ๊ฒธ ๋ค์ ์จ๋ณธ๋ค. (๊ธ์ ์ ์ด๊ฒ ์๊ฐํด๋ณธ๋ค..)๊ธฐ์กด ๋ฐฉ๋ฒ์ ๋ฌด์์ด์์๊น?
๊ฐ๋จํ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉฐ, DTO, DAO, Entity์ ๊ด๋ จ๋ ๊ฐ๋ ์ด ๋์๋ค.์ฌ์ค Controller, Service, Repository๋ฅผ ์ฌ์ฉํ๋ฉฐ ์๋ฐ ์คํ๋ง์ด ์์์ ์ ํด์ฃผ๋ค๋ณด๋ ์ด๋ฐ ๋ถ๋ถ์ ๋ชจ๋ฅด๊ณ ๊ทธ๋ฅ ๋ญฃ๋ ๋ชจ๋ฅด๊ณ ๊ฐ๋ค ์ผ๋๋ฐ ์ด์ฐธ์ ๊ฐ๋ ์ ์ ๋ฆฌํด๋ณธ๋ค.๋จผ
JAVA Spring์ ์๋ฆฌ๋ ์์กด์ฑ ์ฃผ์ ์ผ๋ก๋ถํฐ ์์๋๋ค๊ณ ํ ์ ์๋ค.DI(Dependency Injection)์ฆ, ์์กด์ฑ ์ฃผ์ ๋ฐฉ๋ฒ์๋ ํฌ๊ฒ 3๊ฐ์ง๊ฐ ์๋ค.์ฌ์ค ๊ฒฐ๊ตญ ์์ฑ์ ์ฃผ์ ๋ฐฉ์์ ์ฐ๋ ๊ฒ์ด ์ข๋ค๋ก ๊ท๊ฒฐ๋๋ค.๋ค๋ฅธ ์ฌ๋์ ์์ค์ฝ๋๋ฅผ ๋ฆฌ๋ทฐ ์ค, "์ด? ๋ญ์ง ์ด๊ฑด