Introduce
Last updated
Last updated
Spring Framework๋ ์ ์ด์ ์ญ์ (Inversion of Control, IoC) ์์น์ ๊ตฌํํฉ๋๋ค.
IoC์ ํน์ํ ํํ๋ก์ ์์กด์ฑ ์ฃผ์ (Dependency Injection, DI)์ ๊ฐ์ฒด๊ฐ ์์ฑ์ ์ธ์, ํฉํ ๋ฆฌ ๋ฉ์๋์ ์ธ์, ๋๋ ๊ฐ์ฒด ์ธ์คํด์ค๊ฐ ์์ฑ๋๊ฑฐ๋ ํฉํ ๋ฆฌ ๋ฉ์๋์์ ๋ฐํ๋ ํ์ ์ค์ ๋๋ ์์ฑ์ ํตํด์๋ง ์์กด์ฑ์ ์ ์ํ๋ ๋ฐฉ์์ ๋๋ค.
IoC ์ปจํ ์ด๋๋ ๋น์ ์์ฑํ ๋ ์ด๋ฌํ ์์กด์ฑ์ ์ฃผ์ ํฉ๋๋ค.
org.springframework.beans
์ org.springframework.context
ํจํค์ง๋ Spring Framework์ IoC ์ปจํ
์ด๋์ ๊ธฐ์ด๋ฅผ ์ด๋ฃน๋๋ค.
BeanFactory
์ธํฐํ์ด์ค๋ ์ด๋ค ์ข
๋ฅ์ ๊ฐ์ฒด๋ ๊ด๋ฆฌํ ์ ์๋ ๊ณ ๊ธ ๊ตฌ์ฑ ๋ฉ์ปค๋์ฆ์ ์ ๊ณตํฉ๋๋ค.
Spring์ AOP ๊ธฐ๋ฅ๊ณผ์ ์ฌ์ด ํตํฉ
๊ตญ์ ํ๋ฅผ ์ํ ๋ฉ์์ง ๋ฆฌ์์ค ์ฒ๋ฆฌ
์ด๋ฒคํธ ๋ฐํ
์น ์ ํ๋ฆฌ์ผ์ด์
์์ ์ฌ์ฉํ ์ ์๋ WebApplicationContext
์ ๊ฐ์ ์ ํ๋ฆฌ์ผ์ด์
๊ณ์ธต๋ณ ํน์ ์ปจํ
์คํธ
BeanFactory
๋ ๊ตฌ์ฑ ํ๋ ์์ํฌ์ ๊ธฐ๋ณธ ๊ธฐ๋ฅ์ ์ ๊ณตํ๊ณ , ApplicationContext
๋ ๋ ๋ง์ ์ํฐํ๋ผ์ด์ฆ ํน์ ๊ธฐ๋ฅ์ ์ถ๊ฐํฉ๋๋ค. ApplicationContext
๋ BeanFactory
์ ์์ ํ ์์ ์งํฉ์
๋๋ค
Spring์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค์ถ๋ฅผ ํ์ฑํ๊ณ Spring IoC ์ปจํ ์ด๋์ ์ํด ๊ด๋ฆฌ๋๋ ๊ฐ์ฒด๋ฅผ ๋น(bean)์ด๋ผ๊ณ ํฉ๋๋ค.
๋น์ Spring IoC ์ปจํ ์ด๋์ ์ํด ์ธ์คํด์คํ๋๊ณ ์กฐ๋ฆฝ๋๋ฉฐ ๊ด๋ฆฌ๋๋ ๊ฐ์ฒด์ ๋๋ค. ๋น์ ๋จ์ํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง์ ๊ฐ์ฒด ์ค ํ๋์ผ ๋ฟ์ ๋๋ค. ๋น๊ณผ ๊ทธ๋ค ๊ฐ์ ์์กด์ฑ์ ์ปจํ ์ด๋์์ ์ฌ์ฉ๋๋ ๊ตฌ์ฑ ๋ฉํ๋ฐ์ดํฐ์ ๋ฐ์๋ฉ๋๋ค.