/* ์ด ๊ธ์ ๊น์ํ๋์ ๊ฐ์๋ฅผ ๋ณด๊ณ ์ ๋ฆฌํ๋ ค๊ณ ์์ฑํ ๊ธ์ ๋๋ค.
๊ฐ์ธ์ ์ธ ๊ณต๋ถ๋ฅผ ์ํด ์ฌ๋ฆฌ๋ ๊ธ์ด๋ฏ๋ก ์ค๊ฐ ์ค๊ฐ ์ฝ๋๋ ์๋ต๋์์ต๋๋ค. */
์คํ๋ง ํต์ฌ ์๋ฆฌ - ๊ธฐ๋ณธํธ - ์ธํ๋ฐ | ๊ฐ์
์คํ๋ง ์ ๋ฌธ์๊ฐ ์์ ๋ฅผ ๋ง๋ค์ด๊ฐ๋ฉด์ ์คํ๋ง์ ํต์ฌ ์๋ฆฌ๋ฅผ ์ดํดํ๊ณ , ์คํ๋ง ๊ธฐ๋ณธ๊ธฐ๋ฅผ ํ์คํ ๋ค์ง ์ ์์ต๋๋ค., ์คํ๋ง ํต์ฌ ์๋ฆฌ๋ฅผ ์ดํดํ๊ณ , ์ฑ์ฅํ๋ ๋ฐฑ์๋ ๊ฐ๋ฐ์๊ฐ ๋์ด๋ณด์ธ์! ๐ข
www.inflearn.com
BeanFactory์ ApplicationContext
1. BeanFactory์ ApplicationContext์ ์ญํ
โพ BeanFactory
โ ์คํ๋ง ์ปจํ ์ด๋์ ์ต์์ ์ธํฐํ์ด์ค
โ ์คํ๋ง ๋น์ ๊ด๋ฆฌํ๊ณ ์กฐํํ๋ ์ญํ ์ ๋ด๋น(getBean() ๊ฐ์)
โ ์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ๋ ๋๋ถ๋ถ์ ๊ธฐ๋ฅ์ BeanFactory๊ฐ ์ ๊ณตํ๋ ๊ธฐ๋ฅ์
โพ ApplicationContext
โ BeanFactory์ ๊ธฐ๋ฅ์ ๋ชจ๋ ์์๋ฐ์์ ์ ๊ณต
โ ๋น์ ๊ด๋ฆฌํ๊ณ ๊ฒ์ํ๋ ๊ธฐ๋ฅ์ BeanFactory๊ฐ ์ ๊ณตํด์ฃผ๋๋ฐ, ๊ทธ๋ผ ๋์ ์ฐจ์ด์ ์?
โ ๋ฐ๋ก ApplicationContext๋ ๋น์ ๊ด๋ฆฌํ๊ณ ๊ฒ์ํ๋ ๊ฒ ์ธ์ ๋ถ๊ฐ๊ธฐ๋ฅ์ ๊ฐ์ง๊ณ ์๋ค๋ ๊ฒ!
2. ApplicationContext๊ฐ ์ ๊ณตํ๋ ๋ถ๊ฐ๊ธฐ๋ฅ
โพ MessageSource
โ ๊ตญ์ ํ ๊ธฐ๋ฅ : ์๋ฅผ ๋ค์ด์ ํ๊ตญ์ ๋ค์ด์ค๋ฉด ํ๊ตญ์ด๋ก, ์์ด๊ถ์ ๋ค์ด์ค๋ฉด ์์ด๋ก ์ถ๋ ฅํจ.
โพ EnvironmentCapable
โ ํ๊ฒฝ ๋ณ์ : ๋ก์ปฌ, ๊ฐ๋ฐ, ์ด์์ ๊ตฌ๋ถํด์ ์ฒ๋ฆฌ
โพ ApplicationEventPublisher
โ ์ ํ๋ฆฌ์ผ์ด์ ์ด๋ฒคํธ : ์ด๋ฒคํธ๋ฅผ ๋ฐํํ๊ณ ๊ตฌ๋ ํ๋ ๋ชจ๋ธ์ ํธ๋ฆฌํ๊ฒ ์ง์
โพ ResourceLoader
โ ํธ์ํ ๋ฆฌ์์ค ์กฐํ : ํ์ผ, ํด๋์คํจ์ค, ์ธ๋ถ ๋ฑ์์ ๋ฆฌ์์ค๋ฅผ ํธ๋ฆฌํ๊ฒ ์กฐํ
3. ์ ๋ฆฌ
โ ApplicationContext๋ BeanFactory์ ๊ธฐ๋ฅ์ ์์๋ฐ๋๋ค.
โ ApplicationContext๋ ๋น ๊ด๋ฆฌ๊ธฐ๋ฅ + ํธ๋ฆฌํ ๋ถ๊ฐ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค.
โ BeanFactory๋ฅผ ์ง์ ์ฌ์ฉํ ์ผ์ ๊ฑฐ์ ์์ผ๋ฉฐ ๋ถ๊ฐ๊ธฐ๋ฅ์ด ์๋ ApplicationContext๋ฅผ ์ฌ์ฉํ๋ค.
โ BeanFactory, ApplicationContext ๋ ๋ค ์คํ๋ง ์ปจํ ์ด๋๋ผ๊ณ ํ๋ค.