๐ฑSpring
Java ๊ธฐ๋ฐ์ ์ดํ๋ฆฌ์ผ์ด์
๊ฐ๋ฐ์ ์ํด ๋ง๋ค์ด์ง ํ๋ ์์ํฌ
๐ถ์ฌ์ฉํ๋ ์ด์
- DB ์ฐ๊ฒฐ
- DB ์กฐํ ๊ธฐ์ : jdbc โ ibatis/mybatis โ JPA(orm)
- ๋ก๊ทธ์ธ ๋ฐ ๋ค์ํ ์น ๊ธฐ์ ๋ณด์ (๊ตฌํ์ฒด)
- REST API ๊ฐ๋ฐ ๋ฑ์ ๊ธฐ๋ฅ์ด ๋ด์ฅ
- HTTP ํต์ (req, res) โ ํ๋กํ ์ฝ ํธ์๊ฐ ์ฌ์ ๊ตฌํ๋์ด ์์
โจ๋ง์ ๋ถ๋ถ์ ์ฌ์ ์ ๊ตฌํ/๋จ์ํ๋ฅผ ํตํ ์น๊ฐ๋ฐ ํธ์ ์ฆ๋
๐ฑSpring Boot
- Spring ๊ธฐ๋ฐ์ ์ดํ๋ฆฌ์ผ์ด์
์ ์ฝ๊ณ ๋น ๋ฅด๊ฒ ๊ตฌ์ถํ ์ ์๋๋ก ๋์์ฃผ๋ ๋๊ตฌ
- Spring ์ค์ ์ ์ต์ํ -> ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์๋ ๊ตฌ์ฑ
- Auto-configuration, Starter ๋ผ์ด๋ธ๋ฌ๋ฆฌ (์ข
์์ฑ), ํฐ์บฃ์ง์
- ์ต์ ํ๋ก์ ํธ๋ ๋๋ถ๋ถ SpringBoot ๊ธฐ๋ฐ
cf) Spring์ tomcat ๋ณ๋ ์ค์น ํ์ vs Spring Boot๋ tomcat์ด ๋ด์ฅ๋จ
๐ฑSpring ์์ํ๊ธฐ
Spring framework์ Spring Boot ํ๋ก์ ํธ๋ฅผ ์์ฑํ๊ธฐ ์ํ ๊ณต์์ ์ธ ์น ์๋น์ค : https://start.spring.io/
์ค์ต ex) 
๐ถGradle - Groovy
๐ฆดGradle
- ํ๋ก์ ํธ build, dependencies (์ข
์์ฑ) ๊ด๋ฆฌ, ๋ฐฐํฌ ๋ฑ์ ์ํ ์๋ํ ๋๊ตฌ
- Java ๋น๋์ ํ์ํ ํ๋ฌ๊ทธ์ธ ์ค์
ex)build.gradle์ plugins ์ฝ๋
- ์ธ๋ถ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฐ ๋ชจ๋ ๋ฑ์ ๊ด๋ฆฌ => ์์กด์ฑ (์ข
์์ฑ) ๊ด๋ฆฌ
ex)build.gradle์ dependencies
- ๋ฐฐํฌ๋ฅผ ์ํ ์์ถํ์ผ ์์ฑ
ex).jar ํ์ผ
๐ฆดGroovy
- build script๋ฅผ ์ ์ํ ๋ ์ฌ์ฉ๋๋ ์คํฌ๋ฆฝํธ ์ธ์ด
ex) build.gradle ํ์ผ ์์ฑ์ ๋ฌธ๋ฒ ํ์
- XML์ด๋ ํน์ํ DSL(Domain Specific Language)์ ์ฌ์ฉํ์ง ์์
๐ถSpring Boot
- 2.7.11 ์ ํ
- snapshot์ ์คํ์ ์ธ ๋ฒ์ ์ ์๋ฏธ
- ํ์๋ ์์ผ๋ก ์งํ๋ ํ๋ก์ ํธ์์๋ 2.7.* ๋ฒ์ ์ ์ฌ์ฉํ ์์
(๋ณธ์ธ์ด ์ฌ์ฉํ ๋ฒ์ ๊ธฐ์ตํด๋๊ธฐ)
๐ฆดGroup
- ๊ทธ๋ฃน/์กฐ์ง ๋ํ๋ด๋ ์ด๋ฆ
- ์ผ๋ฐ์ ์ผ๋ก ๋๋ฉ์ธ ์ด๋ฆ์ ์ญ์์ผ๋ก ์ฌ์ฉ
ex) com.naver
๐ฆดArtifact
- ํ๋ก์ ํธ์ ์ค์ง์ ์ธ name์ผ๋ก ์ฌ์ฉ
ex) first-web app
- ๊ทธ๋ฃน ๋ด์์ ํ๋ก์ ํธ๋ฅผ ๊ณ ์ ํ๊ฒ ์๋ณํ๋ ๋ฐ ์ฌ์ฉ
- ํ๋ก์ ํธ๊ฐ ์์ฑํ๋ .jar ํ์ผ์ ์ด๋ฆ์ ์ฌ์ฉ
๐ฆดName
- ํ๋ก์ ํธ์ ์ ์ฒด ์ด๋ฆ
- artifact๋ณด๋ค ๋ ์ค๋ช
์ ์ด๊ณ ์น์ํ ํํ๋ก ํํ
- ํ๋ก์ ํธ๊ฐ ์์ฑํ๋ main application ํ์ผ์ ์ด๋ฆ์ ์ฌ์ฉ
๐ฆดPackaging
Java ์์ถํ์ผ์ ๋๋
(ํ๋ก๊ทธ๋จ ์คํ์ ์ํ ๋ชจ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ํฌํจ)
- Jar
- ์ฃผ๋ก Spring Boot์์ ์ฌ์ฉ
- War
-
Servlet/JSP ๊ธฐ๋ฐ์ ์น ์ ํ๋ฆฌ์ผ์ด์
์ ์ฌ์ฉ
cf) JSP๋ HTML ๋ฌธ์ ์์ Java ์ฝ๋๋ฅผ ํฌํจ
Servlet์ Java ์ฝ๋ ์์ HTML์ ํฌํจ
-
JSP์์๋ WEB-INF, META-INF์ ๊ฐ์ ์ฌ์ ์ ์ ์๋ ๊ตฌ์กฐ ์ฌ์ฉ
-
๋ณ๋์ ์น ์๋ฒ(WEB)/์น ์ปจํ
์ด๋(WAS) ํ์
๐ถDependencies
aka ์ข
์์ฑ / ๋ผ์ด๋ธ๋ฌ๋ฆฌ
๐ถGenerate
- .zip ํํ๋ก ๋ค์ด๋ก๋๋จ
- ์์ถํด์ ํ, Intellij์์ build.gradle ํ์ผ ์ด๊ธฐ
- ํ์ผ ์ต์ด ์คํ ์, build.gradle์ ์ค์ ๋ dependencies ๊ด๋ จ ํ์ผ์ ๋ค์ด๋ก๋ํ๊ฒ ๋จ