기본적으로 Spring IOC Container는 어플리케이션을 시작할 때 모든 Bean을 초기화합니다. 이 과정에서 Bean 초기화에 실패할 수도 있는데 이로 인해 어플리케이션 시점에 장애를 사전에 발견할 수 있습니다. 반면, 어플리케이션 시작하는 과정에 모든 Bean을 초기화하는 경우, 부팅하는데 시간이 많이 걸릴 수 있다는 단점이 있습니다.
Lazy Initialization 활성화하는 방법
1. spring.main.lazy-initialization 설정
SpringBoot의 설정파일인 application.properties(또는 appliation.yml)에 spring.main.lazy-initailization의 값을 true로 설정하면 모든 Bean을 Lazy Initialization 적용합니다.
2. @Lazy 어노테이션 사용
Lazy Initialization을 적용하고 싶은 특정 Bean에만 적용 가능합니다.
Lazy Initialization의 장단점
[장점]
Lazy Initialization을 적용하면 어플리케이션이 구동될 때 생성되는 Bean의 수를 줄일 수 있으므로 부팅타임을 개선할 수 있습니다.
[단점]
어플리케이션 부팅 시, Load되는 Bean의 오류를 미리 발견할 수 없습니다.
'Backend Develop > Spring Framework' 카테고리의 다른 글
[Spring] Request Mapping MediaType 설정 (0) | 2022.03.14 |
---|---|
[JPA] @OneToMany/@ManyToOne Join Annotation 사용법 (0) | 2022.02.25 |
[Spring] Spring을 사용하는 이유 (0) | 2022.01.22 |
[Spring] Spring Container에 대한 이해 (0) | 2022.01.22 |
[Spring] Spring Cloud Function 함수 (0) | 2022.01.22 |