title | date |
---|---|
FE๊ฐ๋ฐ์๊ฐ spring boot๋ฅผ ๊ณต๋ถํ๊ณ ๋๋์ |
2023.06.06 |
์์ฆ ์คํ๋ง์ ๊ณต๋ถํ๊ณ ์๋ค. ์คํ๋ง ์ ๋ฌธ - ์ฝ๋๋ก ๋ฐฐ์ฐ๋ ์คํ๋ง ๋ถํธ, ์น MVC, DB ์ ๊ทผ ๊ธฐ์ ์๊ฐํ๊ณ ์คํ๋ง ํต์ฌ ์๋ฆฌ - ๊ธฐ๋ณธํธ๋ 60% ์ ๋ ๋ค์๋ค.
์คํ๋ง์ ๊ณต๋ถํ๊ฒ๋ ์ด์ ๋ฅผ ๋งํด๋ณด์๋ฉด. ์ํํธ์จ์ด ๊ณตํ ๊ด๋ จ ์ ์๋ค์ ์ฝ์ด ๋ณด๋ฉด ๋๋ถ๋ถ ๋ฐฑ์๋ ์ค์ฌ์ผ๋ก ์ฐ์ฌ์ก๋ค. ๊ทธ๋์ ์ด๋ฅผ ํ๋ก ํธ์ฝ๋์ ์ ์ฉํ๋ ค ๋ ธ๋ ฅํด๋ณด์ง๋ง ํ๋ค๊ธฐ๋ ํ๊ณ ์ฐธ๊ณ ํ ๋งํ ์ฝ๋๋ ์๋ค๋ณด๋ ํ๋ด๋ด์ ๊ฐ๋ฐํ๋ ๋๋์ด์๋ค. ํด๋ฆฐํ ๊ฒ ์ฒ๋ผ ๋ณด์ด๋ ์ฝ๋, solid๋ฅผ ๊พธ์ญ๊พธ์ญ ์ ์ฉํ ์ฝ๋, ์ด๋์ ๋ณธ ์ํคํ ์ฒ๋ฅผ ํ๋ด๋ด์ด ์ ์ฉํ ์ฝ๋๋ฅผ ์์ฑํ๋ค. ์ฑ ์์ ์๊ฐ๋ ๊ฐ๋ ๊ณผ ๋ฐฉ๋ฒ๋ค์ ์ฌ์ฉํ๊ธฐ๋ ์ด๋ ค์ ๊ณ ๊ทธ ๊ฐ๋ ๊ณผ ์ฒ ํ ์ ํ๋ก ํธ ์ฝ๋์ ๋ น์ด๋ ค๋ ๋ ธ๋ ฅ๋ง ํ๊ฒ ๋์๋ ๊ฒ ๊ฐ๋ค. ์ด๋ฐ ๊ณผ์ ์์ ์ ์๊ฐ ๋งํ๋ ค๋ ๋ด์ฉ๋ค, ๊ทธ๋ฆฌ๊ณ ๋๋ฆฌ ์๋ ค์ง ํด๋ฆฐ ์ํคํ ์ฒ๋ ๋ฐฉ๋ฒ๋ก ๋ค์ ๋์ฑ ์ ์ดํดํ๊ธฐ ์ํด์ ๋ฐฑ์๋๋ฅผ ๊ณต๋ถํ๊ฒ ๋์๋ค. ๋ฌผ๋ก ์ด๋ฐ ์ด์ ๋ง ์๋๊ฑด ์๋๋ค. ํผ์์ ์ฌ์ด๋ ํ๋ก์ ํธ๋ฅผ ๋ง๋ค๊ณ ์ถ๊ธฐ๋ ํ๊ณ ๋ฐฑ์๋ ์ง๊ตฐ์ผ๋ก ์ ํฅ ํด๋ณด๊ณ ์ถ์ ๋์ฆ๋ ์กฐ๊ธ์ ์๋ค.
์คํ๋ง์ด ์ด๋ค๊ฑด์ง๋ "์คํ๋ง ์ ๋ฌธ" ๊ฐ์ ํ๋๋ก๋ ๋๋ถ๋ถ ์๊ฒ ๋์๋ ๊ฒ ๊ฐ๋ค. ์คํ๋ง ๋น๊ณผ ์์กด๊ด๊ณ ๊ทธ๋ฆฌ๊ณ AOP๋ ์ถฉ๊ฒฉ์ด์๋ค. ํด๋์ค ์์ annotation์ ๋ฌ์์ฃผ๋ ๊ฒ ๋ง์ผ๋ก ์คํ๋ง ์ปจํ ์ด๋์ ๋น์ผ๋ก ๋ฑ๋ก๋๊ณ Configuration์ ์์ ํ๋ ๊ฒ๋ง์ผ๋ก ์์กด์ฑ์ ์์ ๋กญ๊ฒ ์ฃผ์ ํ๊ณ ์กฐ๋ฆฝํ ์ ์์๋ค. solid๋ฅผ ํ๋ก ํธ์์ ์ ์ฉํ๋ฉด์ ๋ค์๋ ์๋ฌธ๋ค... ์์กด์ฑ ์ญ์ ์์น์ด ํ๋ก ํธ์์ ๊ทธ๋ ๊ฒ๋ ํ๋ค์๋๋ฐ ์คํ๋ง ์ฌ์ฉํ๋ฉด configuration๋ง ์์ ํ๋ฉด ๋์๋ค. ๋๋ฌด๋ ์ฌ์ ๋ค. ๊ทธ๋ฅ ์คํ๋ง์ด ๋คํด์คฌ๋ค. ํ๋ก ํธ๋ ๊ทธ๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ ํ๋ ์์ํฌ๊ฐ ์๋ค. ๊ทธ๋ฐ๊ฑธ ๊ตฌํํ๋ ค๋ฉด ๊ฐ๋ฐ์๊ฐ ์ฝ๋ฉํด์ผ ํ๋ค. ๊ทธ๋ฆฌ๊ณ ๊ด๋ก์ ์ธ ๊ธฐ๋ฒ๋ ์๋๊ธฐ์ ์ฌ๋ฌ ํ์๋ค๊ณผ ํจ๊ป ๊ฐ๋ฐํ๋ ํ๋ก์ ํธ๋ผ๋ฉด ์ฝ์ง ์์ ์ ํ์ผ ๊ฒ์ด๋ค.
์คํ๋ง์ ์ฝ๋๋ฅผ ์ ์ค๊ณํ ์ ์๋๋ก ๋ฐ์ ๋์๋ค๋ฉด react๋ฅผ ์ฌ์ฉํ๋ ํ๋ก ํธ์๋ ๊ฐ๋ฐ์๋ dom์ ๋ง๋ค๊ณ js๋ก ํจ์๋ฅผ ๋ง๋ค๊ณ dom๊ณผ js๋ฅผ ์ง์ ์ด์ด์ค์ผ ํ๋ค. ํ๋ ์์ํฌ๊ฐ ํด์ฃผ๋๊ฑด ์์์ ์ ๋ ๋๋งํด์ฃผ๊ณ (๋ณ๊ฒฝ์ด ๋ง์๋ ๋ชจ์์ ํ๋ฒ์ ๋ ๋๋ง ์ํจ๋ค๋๊ฐ) ์ปดํฌ๋ํธ ๋ผ์ดํ ์ฌ์ดํด์ ๋ฐ๋ฅธ ํ ์ ์ ๊ณตํด์ฃผ๋ ๊ฒ ๋ฟ์ด๋ค. ์ ์ค๊ณํ๊ณ ์ข์ ์ฝ๋๋ฅผ ๋ง๋ค๋๋ก ๋ฐ์ ํ๊ฒ ์๋ ์ฑ๋ฅ์ ์ธ ๋ถ๋ถ์ ๊ฐ์ ์ํค๊ธฐ ์ํด ๋ฐ์ ๋์๋ค. ์์ง ํ๋ก ํธ ๊ธฐ์ ์ด ์ฑ์ํ์ง ๋ชปํ๊ธฐ ๋๋ฌธ์ธ ๊ฒ ๊ฐ๊ธฐ๋ํ๊ณ (๊ด๋ก์ ์ธ ๋ฐฉ์ ๊ฐ์๊ฒ ์๋ค. - service, controller, repository ๊ฐ์..) ์์ด๋ ๋น ๋ฅด๊ฒ ๋ฐ๋๊ณ ๋๊ตฐ๊ฐ๊ฐ ๋นํํ๋ฉฐ ์๋ก์ด ๊ฑธ ๋ด๊ณ , ๊ธฐ์กด์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํน์ ํ๋ ์์ํฌ๊ฐ ์ ๊ทธ๋ ์ด๋ ๋๋๊ฒ ์๋ deprecate ๋์ด๋ฒ๋ฆฌ๊ณ ์๋ก์ด๊ฒ ๋์๋ฒ๋ฆฐ๋ค. ๊ทธ๋์ ์ฝ๋๋ ๋ฒจ์์ ์ ์ง๋ณด์ํ๊ฒ ์ ๋ง๋ค ์ ์๋๋ก ๋ฐ์ ๋๊ธฐ๋ ์ปค๋ ๋ค๋ฅธ ํ๋ ์์ํฌ์ ๋จนํ๊น๋ด, ์๋ฆฌ๋ฅผ ๋นผ์๊ธธ ๊ฑฑ์ ์ ์ฑ๋ฅ์ ๊ฐ์ ํ๊ณ ์กฐ๊ธ์ด๋ผ๋ ๋ง์ ๊ธฐ๋ฅ์ ๊ฐ๋ฐํ๊ธฐ์ ๊ธ๊ธํ ๊ฒ ๊ฐ๋ค๋ ์๊ฐ์ด ๋ ๋ค.
๊น์ํ ์ ์๋์ด ์๋ ์ฝ๊ฒ ๊ฐ๋ฅด์ณ์ฃผ์๊ณ ์ค๋ฌด ๊ฒฝํ ์์ฃผ๊ณ ๊ฐ๋ฅด์ณ ์ฃผ์ ์ ์ข์๊ณ , ๋ฐฑ์๋ ์ทจ์ค์์ ๋๋์ผ๋ก ๊ณต๋ถํ๋ค ๋ณด๋ ์ฌ๋ฏธ๋ ์์๋ ๊ฒ ๊ฐ๋ค. spring ์ฌ๋ฐ๋ค.