Spring Boot Framework Document - dev-team-projects/DeliTalk GitHub Wiki
์์ฑ์ : ์์ฑ์ค, ์ ํ์, ์ด์ค์
Spring Boot
-
์์กด์ฑ ๊ด๋ฆฌ๊ฐ ํธ๋ฆฌํ๊ณ RESTful API ๊ตฌํ์ ์ต์ ํ๋์ด ์์ด, ๋ฐฑ์๋ ๊ฐ๋ฐ์ ์์ฐ์ฑ๊ณผ ํจ์จ์ ๋์ผ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
-
๋๊ท๋ชจ ์๋น์ค์์๋ ๋๋ฆฌ ์ฌ์ฉ๋๋ ๊ฒ์ฆ๋ ํ๋ ์์ํฌ๋ก, ์ค๋ฌด์ ๊ฐ๊น์ด ๊ฐ๋ฐ ํ๊ฒฝ์ ๊ฒฝํํ๊ณ ์ ์ ํํ์ต๋๋ค.
ํน์ง
์๋ ๊ตฌ์ฑ(Auto Configuration)
- ๋ณต์กํ ์ค์ ์์ด ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ๋ ๊ฐ๋ฅํฉ๋๋ค.
๋ด์ฅ WAS ์ ๊ณต
- Tomcat/Jetty/Undertow ๋ฑ ๋ด์ฅ ์๋ฒ ํฌํจํฉ๋๋ค. (war ๋ฐฐํฌ ํ์ ์์)
Opinionated Defaults
- ์ค๋ฌด์ ์์ฃผ ์ฐ์ด๋ ์ค์ ๊ฐ์ด ๊ธฐ๋ณธ ์ ์ฉ๋ฉ๋๋ค. (์ด๋ณด๋ ๋น ๋ฅด๊ฒ ์์)
์คํํฐ(Starter) ํจํค์ง
- ๊ณตํต ์์กด์ฑ ๋ฌถ์ ์ ๊ณตํฉ๋๋ค. (spring-boot-starter-web, spring-boot-starter-data-jpa ๋ฑ)
๊ฐํธํ ์ค์
- maven: application.properties ๋๋ gradle: application.yml ํ์ผ๋ก ์ธ๋ถ์ค์ ๊ด๋ฆฌ๋ฅผ ํฉ๋๋ค.
JAR ์คํ
๋ฐ๋ก java -jar๋ก ์คํ ๊ฐ๋ฅํฉ๋๋ค. (๋ฐฐํฌ ํธ๋ฆฌ)
์ฅ์
๋น ๋ฅธ ํ๋ก์ ํธ ์ด๊ธฐํ
- ๋ด์ฅ Tomcat, Jetty ๋ฑ์ ์ฌ์ฉํ์ฌ ์๋ฒ ์ค์ ์์ด ๋ฐ๋ก ์คํ ๊ฐ๋ฅํฉ๋๋ค.
- Spring Initializr๋ก ๋น ๋ฅธ ํ ํ๋ฆฟ ์์ฑ ๊ฐ๋ฅํฉ๋๋ค.
์ค์ ์๋ํ (Auto Configuration)
- ๋ณต์กํ XML ๊ธฐ๋ฐ ์ค์ ์ ์ ๊ฑฐํ๊ณ , ์ต์ํ์ ์ค์ ๋ง์ผ๋ก๋ ์คํ ๊ฐ๋ฅํฉ๋๋ค.
๋ค์ํ ์คํ์์ค์ ํตํฉ ์ฉ์ด
- Spring Security, JPA, OAuth, Swagger, Redis, Kafka ๋ฑ๊ณผ ์ ๊ธฐ์ ์ผ๋ก ์ฐ๋ ๊ฐ๋ฅํฉ๋๋ค.
REST API ๊ฐ๋ฐ์ ์ต์ ํ
- JSON ์๋ต, ์์ธ์ฒ๋ฆฌ, REST ์ปจํธ๋กค๋ฌ ๋ฑ์ ์์ฝ๊ฒ ๊ตฌํ ๊ฐ๋ฅํฉ๋๋ค.
๋ค์ํ ์ปค๋ฎค๋ํฐ์ ๋ ํผ๋ฐ์ค
- ๋๊ท๋ชจ ๊ธฐ์ ์์๋ ์ฌ์ฉํ๋ ์ ๋ขฐ๋ ๋์ ํ๋ ์์ํฌ์ ๋๋ค.
- ๋ฐฉ๋ํ ๋ฌธ์์ ์คํ์์ค ์์ ์ ๊ณตํฉ๋๋ค.
์๋ธ๋ฆฟ/JSP๊ณผ์ ์ฐจ๋ณ์
Spring Boot | ์๋ธ๋ฆฟ/JSP | |
---|---|---|
์ค์ | ์๋ ์ค์ /์ด๊ธฐํ | web.xml, ๋ณต์กํ ์๋ ์ค์ |
๋ด์ฅ ์๋ฒ | ๋ด์ฅ Tomcat ์คํ | ์ธ๋ถ Tomcat/Was ํ์ |
ํ๋ก์ ํธ ๊ตฌ์กฐ | ํ์คํ๋ ๋๋ ํฐ๋ฆฌ ๊ตฌ์กฐ | ์์ ๋ก์ด ๊ตฌ์กฐ (๋นํ์คํ) |
์์กด์ฑ ๊ด๋ฆฌ | ์คํํฐ๋ก ์ผ๊ด ๊ด๋ฆฌ | ์ง์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ถ๊ฐ/๊ด๋ฆฌ |
๋น๋/๋ฐฐํฌ | JAR ํ์ผ ํ๋๋ก ์คํ | WAR ํจํค์ง, ์๋ฒ์ ์ ๋ก๋ |
๊ฐ๋ฐ ์๋ | ๋งค์ฐ ๋น ๋ฆ | ์ค์ , ๋ฐฐํฌ, ์ฌ์์์ ์๊ฐ ์์ |
ํ์ฅ์ฑ/์ ์ง๋ณด์ | ์ฉ์ด | ๋๊ท๋ชจ ํ๋ก์ ํธ์ ๋ถ๋ฆฌ |
์ํ๊ณ | ๋ฐฉ๋ (Spring Data/Security ๋ฑ) | ์ ํ์ (JSP, JDBC ๋ฑ) |