Introduce
์คํ๋ง์ด๋ผ๋ ๋จ์ด๋ ๋ฌธ๋งฅ์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ์ฌ์ฉ๋์ด ๋ค์์ ๋ชฉ๋ก๋ค์ ์ง์นญํ๊ฒ ๋๋ค.
์คํ๋ง DI ์ปจํ ์ด๋ ๊ธฐ์
์คํ๋ง ํ๋ ์์ํฌ
์คํ๋ง ๋ถํธ, ์คํ๋ง ํ๋ ์์ํฌ ๋ฑ์ ๋ชจ๋ ํฌํจํ ์คํ๋ง ์ํ๊ณ
์คํ๋ง ๊ธฐ์ ์ข
๋ฅ
ํ๋ ์น ๊ฐ๋ฐ์์ ์คํ๋ง ํ๋ ์์ํฌ์ ์คํ๋ง ๋ถํธ๋ ๊ฑฐ์ ํ์๋ก ์ฌ์ฉ๋๊ณ ์์ผ๋ฉฐ ๊ทธ ์ธ์ ์ฌ๋ฌ ๊ธฐ์ ๋ค์ด ์กด์ฌํ๋ค.
์คํ๋ง ํ๋ ์์ํฌ: ํต์ฌ์ด ๋๋ ํ๋ ์์ํฌ
์คํ๋ง ๋ถํธ: ์ฌ๋ฌ ๊ธฐ์ ์ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ๋๋ก ์ํฌํธํ๋ ์ญํ
๊ทธ ์ธ
์คํ๋ง ๋ฐ์ดํฐ
์คํ๋ง ์ธ์
์คํ๋ง ์ํ๋ฆฌํฐ
์คํ๋ง Rest Docs
์คํ๋ง ๋ฐฐ์น
์คํ๋ง ํด๋ผ์ฐ๋
์คํ๋ง ํ๋ ์์ํฌ
์คํ๋ง์ ํต์ฌ ๊ธฐ์ ๋ก์ ์คํ๋ง ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ๊ธฐ์ ๋ค์ ์ฌ์ฉํ ์ ์๋ค.
ํต์ฌ ๊ธฐ์ : ์คํ๋ง DI ์ปจํ ์ด๋, AOP, ์ด๋ฒคํธ, ๊ธฐํ
์น ๊ธฐ์ : ์คํ๋ง MVC, ์คํ๋ง WebFlux
๋ฐ์ดํฐ ์ ๊ทผ ๊ธฐ์ : ํธ๋์ญ์ , JDBC, ORM ์ง์, XML ์ง์
๊ธฐ์ ํตํฉ: ์บ์, ์ด๋ฉ์ผ, ์๊ฒฉ์ ๊ทผ, ์ค์ผ์ค๋ง
ํ ์คํธ: ์คํ๋ง ๊ธฐ๋ฐ ํ ์คํธ ์ง์
์ธ์ด: ์ฝํ๋ฆฐ, ๊ทธ๋ฃจ๋น
์ต๊ทผ์๋ ์คํ๋ง ๋ถํธ๋ฅผ ํตํด์ ์คํ๋ง ํ๋ ์์ํฌ์ ๊ธฐ์ ๋ค์ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ ์ ์๊ฒ ๋์๋ค.
์คํ๋ง ๋ถํธ
์คํ๋ง ๋ถํธ๋ ์คํ๋ง ํ๋ ์์ํฌ๋ฅผ ์ฝ๊ฒ ์ฌ์ฉํ ์ ์๊ฒ ๋์์ฃผ๋ ๋๊ตฌ์ผ ๋ฟ์ด๋ฉฐ, ๊ฒฐ๊ตญ ํต์ฌ ๊ธฐ๋ฅ์ ์คํ๋ง ํ๋ ์์ํฌ์ ์๋ค.
์คํ๋ง์ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ ์ ์๋๋ก ์ง์, ์ต๊ทผ์๋ ๊ธฐ๋ณธ์ผ๋ก ์ฌ์ฉ
๋จ๋ ์ผ๋ก ์คํํ ์ ์๋ ์คํ๋ง ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฝ๊ฒ ์์ฑ Tomcat ๊ฐ์ ์น ์๋ฒ๋ฅผ ๋ด์ฅํด์ ๋ณ๋์ ์น ์๋ฒ๋ฅผ ์ค์นํ์ง ์์๋ ๋จ
์์ฌ์ด ๋น๋ ๊ตฌ์ฑ์ ์ํ starter ์ข ์์ฑ ์ ๊ณต
์คํ๋ง๊ณผ 3rd party(์ธ๋ถ) ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์๋ ๊ตฌ์ฑ
๋ฉํธ๋ฆญ, ์ํ ํ์ธ, ์ธ๋ถ ๊ตฌ์ฑ ๊ฐ์ ํ๋ก๋์ ์ค๋น ๊ธฐ๋ฅ ์ ๊ณต ๊ด๋ก์ ์ํ ๊ฐ๊ฒฐํ ์ค์
๊ด๋ก์ ์ํ ๊ฐ๊ฒฐํ ์ค์
์คํ๋ง ํต์ฌ ๊ฐ๋
์๋ฐ ์ธ์ด ๊ธฐ๋ฐ์ ํ๋ ์์ํฌ
์๋ฐ ์ธ์ด์ ๊ฐ์ฅ ํฐ ํน์ง์ธ ๊ฐ์ฒด์งํฅ์ ์ด๋ ค๋ด๋ ํ๋ ์์ํฌ
๋์์ ์ข์ ๊ฐ์ฒด ์งํฅ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ ์ ์๋๋ก ๋์์ฃผ๋ ํ๋ ์์ํฌ
์คํ๋ง์์ ์๋ต ๋ฐ์ดํฐ๋ฅผ ๋ง๋ค์ด ๋ด๋ ๋ฐฉ๋ฒ์ ํฌ๊ฒ ์๋ 3๊ฐ์ง๊ฐ ์๋ค.
1. ์ ์ ์ปจํ
์ธ

2. MVC & ํ
ํ๋ฆฟ ์์ง

3. API

http body์ ๋ฌธ์ ๋ด์ฉ ๋ฐํ
HttpMessageConverter
๋์๋ฌธ์:
StringHttpMessageConverter
๊ฐ์ฒด:
MappingJackson2HttpMessageConverter
๊ทธ ์ธ์๋ ์ฌ๋ฌ converter ์กด์ฌ
์คํ๋ง์์ ์ฌ์ฉ๋๋ ์ฉ์ด์ ํต์ฌ
DI(Dependency Injection): ๊ฐ์ฒด ๊ฐ ์์กด์ฑ์ ์์ ์ด ์๋ ์ธ๋ถ์์ ๋ ๊ฐ์ฒด ๊ฐ์ ๊ด๊ณ๋ฅผ ์ค์ ํ๋ ๊ฒ
IoC(Inversion of Control): ์ ์ด์ ์ญ์ , ํ๋ก๊ทธ๋จ์ ์ ์ด ํ๋ฆ์ ๊ฐ๋ฐ์๊ฐ ์๋ ํ๋ ์์ํฌ๊ฐ ๋ด๋นํ๋ ๊ฒ
AOP(Aspect Oriented Programming): ๊ณตํต์ ๊ด์ฌ ์ฌํญ์ ์ถ์ถํ์ฌ ์ํ๋ ๊ณณ์ ์ ์ฉํ๋ ๊ธฐ์
์คํ๋ง์ด ์ฃผ๋ ์ด์
์ผ๊ด๋ ๊ฐ์ฒด์งํฅ ๊ฐ๋ฐ (DI/IoC)
์์กด์ฑ ์ญ์ ์ผ๋ก ๋ชจ๋ ๊ฐ ๊ฒฐํฉ๋ ๊ฐ์, ํ ์คํธยท๊ต์ฒด ์ฉ์ด
๊ด์ฌ์ฌ ๋ถ๋ฆฌ
๊ณตํต ๊ธฐ๋ฅ์ AOP/Filter/Interceptor๋ก ๋ถ๋ฆฌํ์ฌ ๋๋ฉ์ธ ๋ก์ง์ ์ง์ค
ํ์คํ๋ ์ธํ๋ผ ์ถ์ํ
ํธ๋์ญ์ , ๋ฐ์ดํฐ ์ ๊ทผ ์์ธ ๋ณํ, ๋ฉ์์ง ์ปจ๋ฒํฐ, ์บ์ ๋ฑ ๊ณตํต ์ธํ๋ผ๋ฅผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ณ๋ก ์ถ์ํ
ํ ์คํธ ์ฉ์ด์ฑ
ํ๋กํ์ผ/ํ ์คํธ ์ฌ๋ผ์ด์ค, MockMvc, TestEntityManager ๋ฑ
์ด์/๊ด์ฐฐ
Actuator, Micrometer, ํฌ์ค์ฒดํฌ/๋ฉํธ๋ฆญ/ํธ๋ ์ด์ฑ ์ฐ๋
์์ฐ์ฑ
Spring Boot์ ์๋ ๊ตฌ์ฑ, Starter, ์ธ๋ถ ์ค์ ์ผ๋ก ์ด๊ธฐ ์ค์ ์ต์ํ
ํ์ฅ์ฑ
์กฐ๊ฑด๋ถ ๋น ๋ฑ๋ก, BeanPostProcessor, ์ด๋ฒคํธ๋ก ์ ์ฐํ ํ์ฅ ๊ฐ๋ฅ
๋ฒค๋ ์ข ์์ฑ ์ํ
JPA/Transaction ๋ฑ ํ์ค ์ธํฐํ์ด์ค๋ก ๊ตฌํ ๊ต์ฒด ์ฉ์ด
๊ฑฐ๋ํ ์ํ๊ณ
Security, Data, Batch, Cloud ๋ฑ ๊ฒ์ฆ๋ ํ์ ํ๋ก์ ํธ ํ์ฉ
์ฐธ๊ณ ์๋ฃ
Last updated
Was this helpful?