spring ์ด๋
spring์ ๋๊ตฌ๋ ์๊ณ ์์ ๊ฒ์ด๋ค. java ๊ธฐ๋ฐ์ผ๋ก ๋ง๋ค์ด์ง java ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ๋ชฉ์ ์ผ๋ก ํ๋ ๊ฐ๋ฒผ์ด ํ๋ ์์ํฌ์ด๋ค.
spring boot
spring boot๋ spring์ ๊ตฌ์ฑํ ๋ ์ข ์์ฑ ๊ด๋ฆฌ์ ์๋ ๊ตฌ์ฑ ๋ฑ ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ฌ ์ ํ๋ก์ ํธ๊ฐ ๋น ๋ฅด๊ณ ์ฝ๊ฒ ์์๋ ์ ์๋๋ก ๋์์ค๋ค.
์ฆ Spring Framework๋ฅผ ์ฌ์ฉํ๊ธฐ์๋ ๋ค์ํ ๊ธฐ๋ฅ๋ ๋ง๊ณ ๋ณต์กํ์ง๋ง Spring boot๋ ๊ธฐ๋ณธ๊ฐ์ ์ ๊ณตํ๊ณ , ํจ์จ์ ์ด๊ณ ๋น ๋ฅด๊ฒ ๋น๋ํ๊ธฐ์ํด ๋ง๋ค์ด์ง๊ฒ์ด Spring boot์ด๋ค.
spring security
spring security๋ spring์ ๋ณด์์ ๊ด๋ฆฌํ๋ ํฌ๊ด์ ์ธ ๋ณด์ ์์คํ ์ด๋ค.
์ฝ๊ฒ ๋งํ๋ฉด ๊ฑฐ๋ํ ์ง์ด ์๋ค๊ณ ์๊ฐํ๋ณด์.
์ด ๊ฑฐ๋ํ ์ง์ ๊ด๋ฆฌํ๋ ค๋ฉด ์ฌ๋ฌ ๋ฐฉ์๋ํ ์ด์ , ์ง์ ๋ค์ด์ค๋ ์ฌ๋๋ค์ ์ ์์ ํ์ธํ๋ ๊ฒฝ๋น์๊น์ง ์ฌ๋ฌ ๋ณด์ ์์คํ ์ด ํ์ํ๋ค. ์ด ๋ชจ๋ ๊ฒ์ ํ๋ฒ์ ๊ด๋ฆฌํด์ฃผ๋ ๊ฒ์ด spring security์ด๋ค.
์ ๊ณง๋๋ ๊ฒ์ ๋ค์๊ณผ ๊ฐ๋ค.
- ์ธ์ฆ : ์ ํ๋ฆฌ์ผ์ด์ ์ฌ์ฉ์ ๋ํ ์๊ฒฉ ์ฆ๋ช ์ ์ ํจ์ฑ์ ๊ฒ์ฌํ๋ ๋ฉ์ปค๋์ฆ์ ์ ๊ณตํ์ฌ ํฉ๋ฒ์ ์ธ ์ฌ์ฉ์๋ง ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ธ์ค ํ ์ ์๋๋ก ํด์ค๋ค.
- ๊ถํ : ์ฌ์ฉ์๊ฐ ์๊ธฐ ๊ฒ์๋ง ๋ณ๊ฒฝ, ์์ฑ๋ฑ ๊ถํ์ ๊ฐ์ง ์ ์๋๋ก ์ฌ์ฉ์์ ์ญํ ๋ฐ ๊ถํ์ ๊ธฐ๋ฐ์ผ๋ก ๋ฆฌ์์ค์ ๋ํ ์์ธ์ค ์ ์ด๋ฅผ ํด์ค๋ค.
- ๊ณต๊ฒฉ์ ๋ํ ๋ณดํธ : CSRF, XSS ๊ณต๊ฒฉ๋ฑ๊ณผ ๊ฐ์ ์น ์ทจ์ฝ์ ๋ณดํธ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
๋น๋ ์๋ํ ๋๊ตฌ๋ ์ํํธ์จ์ด ๊ฐ๋ฐ ์ธ๊ณ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๋๋ฐ ๋์์ด ๋๋ ๋๊ตฌ๋ก
์์๋ก ์ง์ ์ง์๋ ํจ์จ์ ์ผ๋ก ๊ฑด์คํ๋ ค๋ฉด ์ฌ๋ฌ ๋๊ตฌ์ ์ฌ๋ฃ๊ฐ ํ์ํ๋ฏ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถํ๋๋ฐ ๋์์ด ๋๋ ๋๊ตฌ๋ค์ ๋งํ๋ค.
๊ทธ๋ฌํ ๋๊ตฌ๋ค์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ํ๋ ์์ํฌ ๋ฐ ์ข ์์ฑ์ด ์์ผ๋ฉฐ Gradle๊ณผ Maven์ ์ด๋ฌํ ๋ฆฌ์์ค๋ค์ ํจ๊ณผ์ ์ผ๋ก ์์งํ๊ณ ๊ด๋ฆฌํ๋ ๋ฐ ๋์์ด ๋๋ ํ๋ก์ ํธ ๊ด๋ฆฌ ๋๊ตฌ์ด๋ค.๐ Maven
Maven์ ๊ตฌ์ฑ๋ณด๋ค ์ ํต์ ์ธ ์ธก๋ฉด์ ๋ฐ๋ฅด๋ ์๊ฒฉํ ๋๊ตฌ์ด๋ค. Maven์ ๋จ์ํ๊ฑฐ๋ ์กฐ๊ธ ๋ณต์กํ ํ๋ก์ ํธ์ ์ ์ฉํ ์ ์์ง๋ง, ๋์ฑ ๋ณต์กํ๊ฑฐ๋ ์ฌ๋ฌ ์๊ตฌ์ฌํญ์ด ์๋ ํ๋ก์ ํธ์์๋ ์ ํ์ด ๋ ์ ์๋ค. ๊ทธ๋ฌ๋ Maven์ Gradle๋ณด๋ค ์ค๋ ์ฌ์ฉ๋์์ผ๋ฉฐ ๋์ ํ๋ฌ๊ทธ์ธ๊ณผ ํฐ ์ปค๋ฎค๋ํฐ๋ฅผ ๋ณด์ ํ๊ณ ์์ด ์๋ฃจ์ ์ ์ฐพ์๋ ๋์์ด ๋ ์ ์๋ค.
๐ Gradle
Gradle์ ์ผ๋ฐ์ ์ผ๋ก ๋น๋ ํ๋ก์ธ์ค๋ฅผ ์ฌ์ฉ์๊ฐ ์ ์ํ ์ ์๋ ์ ์ฐ์ฑ๊ณผ ๊ธฐ๋ฅ์ผ๋ก ๋ณต์กํ ํ๋ก์ ํธ์ ์๋์ ์ผ๋ก ๋ ์ ํฉํ๋ค.
๋๋ java๋ฅผ ์ธ๊ฑฐ์ง๋ง Groovy, Kotilin ๊ธฐ๋ฐ DSL์ ์ฌ์ฉํ๋ฉด ๋น๋ ํ๋ก์ธ์ค์ ๋ํ ํํ๋ ฅ๊ณผ ์ ์ด๋ ฅ์ด ํฅ์๋์ด ๋ณต์กํ ํ๋ก์ ํธ์์ ๋ฐ์ํ ์ ์๋ ๋ฌธ์ ๋ค์ ๋ ์ฝ๊ฒ ํด๊ฒฐ ๊ฐ๋ฅํ๋ค.
Gradle์ Maven๋ณด๋ค ๋ ๋น ๋ฅด๊ณ ํจ์จ์ ์ผ๋ก ์ค๊ณ๋์ด ๋๊ท๋ชจ ํ๋ก์ ํธ๋ฅผ ์ฒ๋ฆฌํ ๋ ์ ์ฉํ๋ค.
๐ ๊ฒฐ๋ก !!
๊ฒฐ๋ก ์ ์ผ๋ก Gradle๊ณผ Maven์ ๋ชจ๋ ๋ณต์กํ ํ๋ก์ ํธ์ ๊ธฐ์ ์ ์ผ๋ก ์ฌ์ฉ๋ ์ ์์ง๋ง ์ผ๋ฐ์ ์ผ๋ก Gradle์ ์ ์ฐ์ฑ, ์ฌ์ฉ์ ์ง์ ์ต์ ๋ฐ ์ฑ๋ฅ ์ด์ ์ผ๋ก ์ธํด ์ด๋ฌํ ํ๋ก์ ํธ์ ๋ ์ ํฉํ๋ค. ๊ทธ๋ฌ๋ ๋ ์ฌ์ด์์ ๊ฒฐ์ ์ ๋ด๋ฆฌ๊ธฐ ์ ์ ํ๋ก์ ํธ์ ํน์ ์๊ตฌ ์ฌํญ๊ณผ ๊ธฐ๋ณธ ์ค์ ์ ํ๊ฐํ๋ ๊ฒ์ด ์ค์ํ ๊ฒ์ด๋ค.
๋๋ ์ด์ ์์ํ๋ ์ ์์ผ๋ก ๊ทธ๋ฅ ๋ฌด์ง์ฑ Gradle ์ธ ๊ฒ ๊ฐ๋ค.
Maven -> ์๋ ๊บผ
Gradle -> ์์ฆ๊บผ