๐ ์คํ๋ง ์ปจํ ์ด๋ ?
์คํ๋ง์์ ๋น์ ๊ด๋ฆฌํ๊ณ ์์ฑํ๋ ์ปจํ ์ด๋.
ํํ , ApplicationContext๋ก ์๋ ค์ ธ ์๋๋ฐ ์ด ์ธํฐํ์ด์ค๋ ์ฌ์ค BeanFactory์ ์์์ ๋ฐ๊ณ ์๋ค.
๊ทธ๋ ๋ค๋ฉด ๋์ ์ฐจ์ด๋ ๋ญ๊น. ๊ถ๊ธํด์ ์ฐพ์๋ดค๋ค.
BeanFactory
- ์คํ๋ง ์ปจํ ์ด๋์ ์ต์์ ์ธํฐํ์ด์ค๋ค.
- ์คํ๋ง ๋น์ ๊ด๋ฆฌํ๊ณ ์กฐํํ๋ ์ญํ ์ ๋ด๋นํ๋ค.
- getBean()์ ์ ๊ณตํ๋ค.
- ์ง๊ธ๊น์ง ์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ๋ ๋๋ถ๋ถ์ ๊ธฐ๋ฅ์ BeanFactory๊ฐ ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ด๋ค.
ApplicationContext
- BeanFactory ๊ธฐ๋ฅ์ ๋ชจ๋ ์์๋ฐ์์ ์ ๊ณตํ๋ค.
- ๋น์ ๊ด๋ฆฌํ๊ณ ๊ฒ์ํ๋ ๊ธฐ๋ฅ์ BeanFactory ๊ฐ ์ ๊ณตํด์ฃผ๋๋ฐ, ๋์ ์ฐจ์ด๋?
- ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ ๋๋ ๋น์ ๊ด๋ฆฌํ๊ณ ์กฐํํ๋ ๊ธฐ๋ฅ์ ๋ฌผ๋ก ์ด๊ณ , ์๋ง์ ๋ถ๊ฐ๊ธฐ๋ฅ์ด ํ์ํ๋ค.
- MessageSource ๋ฉ์์ง ์์ค๋ฅผ ํ์ฉํ ๊ตญ์ ํ ๊ธฐ๋ฅ -> ํ๊ตญ์์ ๋ค์ด์ค๋ฉด ํ๊ตญ์ด๋ก, ์์ด๊ถ์์ ๋ค์ด์ค๋ฉด ์์ด๋ก.
- EnvironmentCapable ํ๊ฒฝ ๋ณ์ -> ๋ก์ปฌ, ๊ฐ๋ฐ, ์ด์๋ฑ์ ๊ตฌ๋ถํด์ ์ฒ๋ฆฌ
- ApplicationEventPublisher ์ ํ๋ฆฌ์ผ์ด์ ์ด๋ฒคํธ -> ์ด๋ฒคํธ๋ฅผ ๋ฐํํ๊ณ ๊ตฌ๋ ํ๋ ๋ชจ๋ธ์ ํธ๋ฆฌํ๊ฒ ์ง์
- ResourceLoader ํธ๋ฆฌํ ๋ฆฌ์์ค ์กฐํ -> ํ์ผ, ํด๋์คํจ์ค, ์ธ๋ถ ๋ฑ์์ ๋ฆฌ์์ค๋ฅผ ํธ๋ฆฌํ๊ฒ ์กฐํ
BeanFactory์ ApplicationContext
- ApplicationContext๋ BeanFactory์ ๊ธฐ๋ฅ์ ์์๋ฐ๋๋ค.
- ApplicationContext๋ ๋น ๊ด๋ฆฌ๊ธฐ๋ฅ + ํธ๋ฆฌํ ๋ถ๊ฐ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
- BeanFactory๋ฅผ ์ง์ ์ฌ์ฉํ ์ผ์ ๊ฑฐ์ ์๋ค. ๋ถ๊ฐ๊ธฐ๋ฅ์ด ํฌํจ๋ApplicationContext๋ฅผ ์ฌ์ฉํ๋ค.
- BeanFactory๋ ApplicationContext๋ฅผ ์คํ๋ง ์ปจํ ์ด๋๋ผ ํ๋ค.