React์ Spring ํ๋ก์ ํธ๋ฅผ ์ฐ๊ฒฐํ๋ ๊ณผ์ ์ ๋จ๊ณ๋ณ๋ก ์ ๋ฆฌํด ๋ณด์๋ค๐ฉ๐ปโ๐ป
1๏ธโฃ Spring ์ปจํธ๋กค๋ฌ ํ์ผ ์์ฑ
โ
์ปจํธ๋กค๋ฌ ํ์ผ ์์ฑ
- Spring ํ๋ก์ ํธ์ React ๋ทฐ(ํ๋ฉด)์ ์ฐ๊ฒฐํ ์ปจํธ๋กค๋ฌ ํ์ผ์ ๋ง๋ค์ด์ค๋๋ค.
- ๐ src/main/java/com/example/controller์ ์ปจํธ๋กค๋ฌ ํ์ผ์ ์์ฑํ์ธ์.

โ
ํ์ผ ์์ฑ ํ ์ปจ๋๋กค๋ฌ ์์ฑ

๐ก ์ฌ๊ธฐ์ "dashboard"๋ ์ง๊ด์ ์ธ ์ด๋ฆ์ผ๋ก ๋ง๋ค์ด์ค๋๋ค
2๏ธโฃ React ํ๋ก์ ํธ ์ค์ ๋ณ๊ฒฝ
- React ํ๋ก์ ํธ์์ package.json ํ์ผ์ ์์ ํฉ๋๋ค.
โ
์์ ๋ด์ฉ
- package.json ์์ proxy ์ ๊ฑฐ ํ "homepage": "dashboard", ์ถ๊ฐ

๐ก "dashboard"๋ Spring ์ปจํธ๋กค๋ฌ์์ ์ค์ ํ ๋ทฐ ์ด๋ฆ๊ณผ ๋์ผํด์ผ ํฉ๋๋ค.
3๏ธโฃ React ์คํ ํ์ธ
โ
yarn start ์คํ
- React ํ๋ก์ ํธ๋ฅผ ์คํํด ํ๋ฉด์ ํ์ธํฉ๋๋ค

๐ ์ฐธ๊ณ :
- Spring์ด ๊ฐ๋๋๊ธฐ ์ ์ด๋ผ ๋ฐ์ดํฐ(๊ทธ๋ํ ๋ฑ)๋ ํ์๋์ง ์์ต๋๋ค
- ํ๋ก์๋ฅผ ์ ๊ฑฐํ๊ธฐ ๋๋ฌธ์ API ํธ์ถ ๋ฐ์ดํฐ๊ฐ ๋ณด์ด์ง ์์ ์ ์์ต๋๋ค
4๏ธโฃ React ๋น๋ ๋ฐ ๊ฒฝ๋ก ํ์ธ
โ
yarn build ์คํ
- React ํ๋ก์ ํธ๋ฅผ ๋น๋ํฉ๋๋ค
- ๋น๋ ํ ์์ฑ๋ build ํด๋ ํ์ธ
- ๊ฒฝ๋กํ์ผ ํ์ธ
5๏ธโฃ index.html ์ด๋ฆ ๋ณ๊ฒฝ
- ๋ฆฌ์ํธ ๋น๋ ํด๋์์ ๋น๋๋ index.html ํ์ผ ์ด๋ฆ์ Spring ์ปจํธ๋กค๋ฌ์์ ์ค์ ํ ์ด๋ฆ๊ณผ ๋์ผํ๊ฒ ์์ ํฉ๋๋ค.(์ปจํธ๋กค๋ฌ์์ ๋ง์ถ ๋ทฐ ์ด๋ฆ)
๐ ์ฐธ๊ณ :
- ๋ณ๊ฒฝ ์ : index.html
- ๋ณ๊ฒฝ ํ: dashboard.html
6๏ธโฃ Spring ํ๋ก์ ํธ์ React ํ์ผ ์ถ๊ฐ
- React ๋น๋ ๊ฒฐ๊ณผ๋ฌผ์ Spring ํ๋ก์ ํธ์ ์ถ๊ฐํฉ๋๋ค.
โ
ํ์ผ ๋ณต์ฌ ๊ฒฝ๋ก
1. dashboard.html
๐ src/main/resources/templates์์ ๋ฆฌ์ํธ ๋น๋ ํด๋์ ์๋ dashboard.html ๋ฅผ ์ถ๊ฐ

2. ๋๋จธ์ง ๋น๋ ํ์ผ
๐ src/main/resources/static/์์ dashboard ํด๋ ์์ฑ ํ
๋ฆฌ์ํธ ๋น๋ ํด๋์ ์์ ์๋ html ๋นผ๊ณ ์ ๋ถ ๋ณต์ฌ ํ dashboardํด๋์์ ์ถ๊ฐ

7๏ธโฃ Spring ํ๋ก์ ํธ ์คํ
โ
Spring ๊ฐ๋
๐ Spring ํ๋ก์ ํธ๋ฅผ ์คํํ๋ฉด React ํ๋ฉด์ด ์ถ๋ ฅ ๋๋๊ฑธ ํ์ธ ํ ์ ์๋ค!!
