๋ฐ์ํ
BeanFactory์ ApplicationContext
- BeanFactory : ์คํ๋ง ์ปจํ ์ด๋์ ์ต์์ ์ธํฐํ์ด์ค. getBean() ์ ๊ณต
- ApplicationContext
- BeanFactory์ ๊ธฐ๋ฅ์ ๋ชจ๋ ์์๋ฐ์์ ์ฌ์ฉ
- ์ดํ๋ฆฌ์บ์ด์
์ ๊ฐ๋ฐํ ๋ ๋น์ ๊ด๋ฆฌํ๊ณ ์กฐํํ๋ ๊ธฐ๋ฅ๋ฟ๋ง ์๋๋ผ, ์ ๋ง์ ๋ถ๊ฐ๊ธฐ๋ฅ์ด ํ์ํ๊ธฐ ๋๋ฌธ์ ์ฌ์ฉํ๋ ์ธํฐํ์ด์ค
- ๋ฉ์์ง ์์ค๋ฅผ ํ์ฉํ ๊ตญ์ ํ ๊ธฐ๋ฅ
- ํ๊ฒฝ๋ณ์
- ์ ํ๋ฆฌ์ผ์ด์ ์ด๋ฒคํธ
- ํธ๋ฆฌํ ๋ฆฌ์์ค ์กฐํ
๊ทธ ์ธ์ ์ฐจ์ด์
Lazy Loading(BeanFactory) vs. Eager Loading(ApplicationContext)
BeanFactory loads beans on-demand, while ApplicationContext loads all beans at startup. Thus, BeanFactory is lightweight as compared to ApplicationContext
๊ฒฐ๋ก
The ApplicationContext comes with advanced features, including several that are geared towards enterprise applications, while the BeanFactory comes with only basic features. Therefore, it's generally recommended to use the ApplicationContext, and we should use BeanFactory only when memory consumption is critical.
๐ Reference
๋ฐ์ํ