728x90
- 기본적으로 ApplicationContext는 초기화 단계에 모든 싱글턴 빈을 생성하고 설정합니다.
- 싱글턴 빈은 단 하나만 만들어져 공유되는 빈
- 만약 prototype이라면 매 요청시마다 새로 만들어야 하기 때문에 초기화 단계에 미리 만들 필요가 없기 때문이라 생각함
- 대다수의 경우 설정이나 환경오류를 즉각 발견할 수 있기 때문에 이런 pre-instantiation이 유용합니다.
- 하지만 싱글턴 빈의 pre-instantiation을 원하지 않는 경우 lazy-initialized 되도록 빈 설정을 할 수 있습니다.
- lazy-initialized빈은 IoC 컨테이너에게 자신이 처음 요청된 시점에 빈을 생성하라고 알려줍니다.
- 만약 초기화 단계에 인스턴스화 되는 싱글턴 빈이 lazy-initialized 설정값을 가진 빈에 의존성을 가지고 있다면 ApplicationContext는 초기화 단계에 lazy-initialized 설정이 된 빈 역시 생성하고 설정하게 됩니다.
- 초기화 단계에 인스턴스화 되는 싱글턴 빈의 조건을 충족시키기 위함입니다.
출처 : https://docs.spring.io/spring-framework/reference/core/beans/dependencies/factory-lazy-init.html
728x90
'Spring' 카테고리의 다른 글
확실히 스프링 시큐리티에 컨트리뷰트를 하고 나서 내 인생이 달라졌다. (0) | 2024.02.02 |
---|---|
Bean Scope - 스프링 공식문서가 말하는 빈 스코프 (0) | 2024.01.26 |
Dependency Injection - 스프링 공식문서가 말하는 의존성 주입 (0) | 2024.01.23 |
Bean Overview - 스프링 공식문서가 말하는 빈 (0) | 2024.01.22 |
Container Overview - 스프링 공식문서가 말하는 컨테이너 (0) | 2024.01.22 |