Opinionated
'์๊ธฐ ์ฃผ์ฅ์ด ๊ฐํ'์ด๋ผ๋ ์๋ฏธ๋ฅผ ๊ฐ๋ ์ด ์ฉ์ด๋ SpringBoot์ Concept๋ก ๋ณผ ์ ์๋ค.
SpringBoot๋ ๋งค๋ฒ Servlet์ ๋์์ผํ๋ Spring์ ๋ฌธ์ ์ ์ ํด๊ฒฐํ๋ ค๊ณ ํ์ํ Framework์ด๋ค.
์ด๋ฐ Containerless ์ฑ์ง๋ฟ๋ง ์๋๋ค.
๊ฐ๋ฐ์๊ฐ ๊ฐ๋ฐ์ ์ง์คํ ์ ์๋๋ก ๊ธฐ๋ณธ์ ์ธ ๊ฐ์ด๋(?), ๋ก๋๋งต(?)์ ์ ๊ณตํ๊ณ ์๋ค.
Spring Framework์ ์ค๊ณ ์ฒ ํ
- ๊ทน๋จ์ ์ผ๋ก ์ ์ฐํ๋ค.
- ์์กด์ฑ ์ฃผ์ (Dependency Injection, DI)
- ๊ด์ ์งํฅ ํ๋ก๊ทธ๋๋ฐ (Aspect-Oriented Programming, AOP)
- IoC(Inversion of Control) Container
- ๋ค์ํ ๋ชจ๋, ํ์ฅ์ฑ, ...
- ๋ค์ํ ๊ด์ ์ ์์ฉํ๋ค
- ์น ๊ฐ๋ฐ, ๋ณด์, ํธ๋์ญ์ ๊ด๋ฆฌ, ํ ์คํธ, ...
- Not Opinionated
- ๋ค์ํ ์ ํ์ง๋ฅผ ๋ค ํ์ฉํ๋ค.
- ๊ฐ๋ฐ์๊ฐ ํ๋ก์ ํธ ๊ตฌ์กฐ๋ฅผ ์ค๊ณ ํด์ผ ํจ.
Spring Boot Framework์ ์ค๊ณ ์ฒ ํ
Not Opinionated → Opinionated
- ์ ๋ฌธ๊ฐ์ ์๊ฒฌ์ ๊ธฐ๋ฐ์ผ๋ก ์คํ๋ง์ ์ ํ์ฉํ ์ ์๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํ๋ค.
- Spring Boot์์ ์ ๊ณตํ๋ ๋ฐฉ๋ฒ๋๋ก ๋น ๋ฅด๊ฒ ๊ฐ๋ฐํ ์ ์๋๋ก ํ๋ค.
- ๊ด๋ฒ์ํ Spring์ ์ง์ ์ฅ๋ฒฝ์ ๋ง์ด ๊ฐ์ ์์ผ์ฃผ๋ ๋ฐฉ๋ฒ
- Starter ํจํค์ง
Out of the box : ๋ณ๋ค๋ฅธ ์ค์ ์์ด ์ฆ์ ์ฌ์ฉ ๊ฐ๋ฅํ
- ํ์ค ์๋ฐ ๊ธฐ์ , ์์กด๊ด๊ณ, ์ฌ์ฉ๋ฒ์
- ๊ฐ ๊ธฐ์ ์ ์คํ๋ง์ ์ ์ฉํ๋ ๋ฐฉ์(DI ๊ตฌ์ฑ)
- ๋ํดํธ ์ค์ ๊ฐ ์ ๊ณต
์ปค์คํฐ๋ง์ด์ง์ ํ๊ฑฐ๋ ์ฝ์ด ๊ธฐ์ ์ ์ ๊ทธ๋ ์ด๋ ์?
ํธํ์ฑ ๋ฌธ์ , ํ๋ ์ ์ํฌ ์์ฒด์ ์์ ์ ๋ฌธ์ ๊ฐ ๋ฐ์
์ ์ฐํ ํ์ฅ
properties, yaml ๊ณผ ๊ฐ์ ์ธ๋ถ ์ค์ ํ์ผ๋ก ์ ์ฐํ ํ์ฅ์ด ๊ฐ๋ฅํ๋ค.
@Configuration ์ด๋ ธํ ์ด์ ์ผ๋ก ์ปค์คํ ๊ตฌ์ฑ ํด๋์ค๋ฅผ ๋ง๋ค์ด ์ฌ์ฉํ ์ ์๋ค.
์ฐธ๊ณ
์ธํ๋ฐ ํ ๋น์ ์คํ๋ง ๋ถํธ - ์ดํด์ ์๋ฆฌ
ํ ๋น์ ์คํ๋ง ๋ถํธ - ์ดํด์ ์๋ฆฌ ๊ฐ์ - ์ธํ๋ฐ
์คํ๋ง ๋ถํธ์ ํต์ฌ ๊ธฐ๋ฅ์ ์ง์ ๋ง๋ค์ด๋ณด๋ฉด์ ์คํ๋ง ๋ถํธ์ ๋์ ์๋ฆฌ๋ฅผ ์ดํดํ๊ณ , ์ด๋ฅผ ํตํด ์คํ๋ง ๋ถํธ๋ฅผ ์ ํ์ตํ๊ณ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ฐ๋ ๊ฐ์์ ๋๋ค. ์คํ๋ง ๋ถํธ๊ฐ ์ฌ์ฉํ๋ ์คํ
www.inflearn.com
โป ์ธํ๋ฐ Toby์ SpringBoot ์ดํด์ ์๋ฆฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ฑํฉ๋๋ค.
'SpringBoot > ์ดํด์ ์๋ฆฌ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Containerless์ ๋ ๋ฆฝ ์คํํ ํ๋ก๊ทธ๋จ(standalone application) (0) | 2024.03.04 |
---|