- ์คํ๋ง์ ๋จ์ ์ ๋ณด์ํ๊ณ ์ ๋ง๋ ํ๋ก์ ํธ
- ํ์ํ ํ๊ฒฝ ์ค์ ์ ์ต์ํํ๊ณ ๊ฐ๋ฐ์๊ฐ ๋น์ฆ๋์ค ๋ก์ง์ ์ง์คํ ์ ์๋๋ก ๋์์ค๋ค.
- ์๋ฒ ๋๋ ํฐ์บฃ,์ ํฐ,์ธ๋ํ ์ฐ๋ฅผ ์ฌ์ฉํ์ฌ ๋ ๋ฆฝ ์คํ์ด ๊ฐ๋ฅํ ์คํ๋ง ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ
- ํตํฉ ์คํํฐ๋ฅผ ์ ๊ณตํ์ฌ ๋ฉ์ด๋ธ/๊ทธ๋ ์ด๋ค ๊ตฌ์ฑ ๊ฐ์ํ
- ์คํํฐ๋ฅผ ํตํ ์๋ํ๋ ์คํ๋ง ์ค์ ์ ๊ณต
- ๋ฒ๊ฑฐ๋ก์ด XML์ค์ ์ ์๊ตฌํ์ง ์์
- JAR์ ์ฌ์ฉํ์ฌ ์๋ฐ ์ต์ ๋ง์ผ๋ก๋ ๋ฐฐํฌ ๊ฐ๋ฅ
- ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ชจ๋ํฐ๋ง๊ณผ ๊ด๋ฆฌ๋ฅผ ์ํ ์คํ๋ง ์ก์ธ์์ดํฐ ์ ๊ณต
- ์คํ๋ง ๋ถํธ๋ ์คํ๋ง ํ๋ ์์ํฌ๋ผ๋ ํฐ ํ์ ์ํ๋ ๋๊ตฌ
- ์ธ์ ๋ ๋์ค or H2: ์ธ์ ์ ๊ด๋ฆฌํ๋ NoSQL๊ณผ ๊ธฐ๋ณธ ๋ฐ์ดํฐ ์ ์ฅ์ ์ํ RDB ์ฌ์ฉ
- ์คํ๋ง ๋ถํธ ์น MVC: ๊ธฐ๋ณธ์ ์ธ ์ปค๋ฎค๋ํฐ ํ์ด์ง
- ์คํ๋ง ๋ถํธ ์ธ์ ๋ ๋์ค: ๋ ๋์ค๋ฅผ ์ฌ์ฉํ ์ธ์ ๊ด๋ฆฌ
- ์คํ๋ง ๋ถํธ ์ํ๋ฆฌํฐ/ ์คํ๋ง ๋ถํธ OAuth2: ์ปค๋ฎค๋ํฐ์ ํ์ ์ธ์ฆ ๋ฐ ๊ถํ ์ฒ๋ฆฌ
- ์คํ๋ง ๋ถํธ ๋ฐ์ดํฐ ๋ ์คํธ: REST API ๋ง๋ค๊ธฐ
- ์คํ๋ง ๋ถํธ ๋ฐฐ์น: ์ฃผ๊ธฐ์ ์ผ๋ก ๋ฐฑ์๋ ์์ ์ฒ๋ฆฌ. ์๋ฅผ ๋ค์ด ํ์ด์ค๋ถ API๋ฅผ ์ฌ์ฉํ์ฌ ๊ฒ์ํ์ ๊ณต์ ๊ฐ์๋ฅผ DB์ ์ ์ฅ
- ์คํ๋ง ๋ถํธ์์๋ ์์กด ๊ด๊ณ๋ฅผ ์คํํฐ๋ฅผ ์ด์ฉํด ๊ฐํธํ๊ฒ ์ค์ ํ ์ ์๋ค.
- spring-boot-starter-* : *์ ์คํํฐ๋ช ์ ๋ช ์ํ๋ฉด ๋๋ค.
- spring-boot-starter-web
-
ํน์ ์คํํฐ๋ฅผ ์ฌ์ฉํ๋ ค ํ๋๋ฐ ์์กด๊ด๊ฒ๊ฐ ๊ถ๊ธํ ๋: Spring-boot-starter๋ฅผ ์ฐธ๊ณ ํ์ฌ ํ์ธํ๋ค.
-
์์กด ๊ด๊ณ๋ฅผ ํ์ธํ์ง ์๊ณ spring-boot-starter๋ฅผ ์ถ๊ฐํ๋๋ฐ ์์กด ๊ด๊ณ ์ค์ ์ด ๊ถ๊ธํ ๋
-
spring-boot-starter์ ์ฌ์ฏ๊ฐ์ง ์์กด์ฑ
- spring-boot: ์คํ๋ง ๋ถํธ์์ ๊ธฐ๋ณธ ์ ๊ณตํ๋ ์์กด์ฑ
- spring-boot-autoconfigure: ์คํ๋ง ๋ถํธ์ ์๋ ํ๊ฒฝ ๊ตฌ์ฑ์ ํ์ํ ์์กด์ฑ
- spring-boot-starter-logging: ๊ฐ์ข ๋ก๊ทธ๋ฅผ ์ฌ์ฉํ๋๋ฐ ํ์ํ ์์กด์ฑ
- javax.annotation-api: ์ํํธ์จ์ด์ ๊ฒฐํจ์ ํ์งํ๋ ์ด๋ ธํ ์ด์ ์ ์ง์ํ๋ ์์กด์ฑ
- spring-core: ์คํ๋ง ์ฝ์ด๋ฅผ ์ฌ์ฉํ๋ ๋ฐ ํ์ํ ์์กด์ฑ
- snakeyaml: yaml์ ์ฌ์ฉํ๋๋ฐ ํ์ํ ์์กด์ฑ
-
์ฅ์
- ๊ฐ๊ฐ์ ์์กด์ฑ ๋ฒ์ ์ ์ฌ๋ฆฌ๋ ๊ฒ์ด ์์ํ๋ค
- ํน์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ฒ๊ทธ๊ฐ ์๋ค ํ๋๋ผ๋ ์คํ๋งํ์์ ๋ฒ๊ทธํฝ์คํ ๋ฒ์ ์ ๋ฐ๊ธฐ ํธ๋ฆฌํ๋ค.
- ์ด๋ ธํ ์ด์ ์ค์ ์ด๋ ํ๋กํผํฐ ์ค์ ์ผ๋ก ์ธ๋ถ์ ์ธ ์ค์ ์์ด ์ํ๋ ๊ธฐ๋ฅ ๋น ๋ฅด๊ฒ ์ ์ฉ ๊ฐ๋ฅ
- ๋ณ๋์ ์ธ์ฅ ํฐ์บฃ์ ์ค์นํ ํ์๊ฐ ์๊ณ , ํฐ์บฃ ๋ฒ์ ๋ ํธ๋ฆฌํ๊ฒ ๊ด๋ฆฌํ๋ค.
-
๋จ์
- ์ค์ ์ ๊ฐ์ธํํ๋ฉด ๋ฒ์ ์ ์ฌ๋ฆด ๋ ๊ธฐ์กด ์คํ๋ง ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ๊ณผ ๋์ผํ ๋ถํธํจ์ ๊ฒช์ ์ ์๋ค.
- ํน์ ์ค์ ์ ๊ฐ์ธํ ํน์ ์์ฒด๋ฅผ ๋ณ๊ฒฝํ๊ณ ์ถ๋ค๋ฉด ๋ด๋ถ์ ์ค์ ์ฝ๋๋ฅผ ์ดํด๋ณด์์ผ ํจ