Spring Application Context Eager Loading

타미·2020년 10월 10일
0

Spring 뽀개기 👊

목록 보기
2/2

Spring IoC Container

  • Bean Factory
  • Application Context

BeanFactory는 Bean을 생성하고 라이프 사이클을 관리하는 게 주 업무이다.
Application Context는 Bean Factory를 상속하며 추가로 Application 전반에 걸쳐 모든 구성요소의 제어 작업을 담당하는 IoC 엔진이라는 의미가 좀 더 부각된다고 보면 된다.

그리고 또 하나의 차이가
Bean Factory는 Bean을 호출할 때 생성하는 Lazy Loading
Application Context는 처음부터 다 생성하는 Eager Loading이다.

실제로 실험해봐도 바로 생성된 것을 볼 수 있다.
그런데 Lazy Loading이 더 좋은 것 아닌가? 필요한 Bean만 생성해서 쓰니까 말이다. 게다가 싱글톤이니까 처음에만 생성하면 성능상 문제도 없다.

Application Context가 Bean Factory보다 늦게 나온 것 같고, 뭔가 의미가 있을 것 같은데 좀 더 찾아봐야겠다.

나의 추측은 요청이 왔을 때 생성하면 시간이 오래 걸리고, 최근에는 빠른 반응성이 큰 이슈니까 차라리 처음에 다 만들어버리는 게 아닐까?

profile
IT's 호기심 천국

0개의 댓글