- 기본적으로 애플리케이션이 시작될 때 모든 빈이 초기화된다. 이 때 Bean 지연 초기화를 사용하면 실제 그 Bean을 호출하거나 의존성 주입을 당하기 전까지 초기화 되지 않는다.
- 지연 초기화 장점 : 많은 Bean들이 있는 상황에서 필요한 객체만 초기화하기 때문에 더 빠른 시작 시간을 제공할 수 있다.
- 지연 초기화단점 : REST 컨트롤러와 같은 웹 관련 Bean은 처음 호출 시 약간의 지연이 발생할 수 있고, 너무 늦게까지 구성 문제를 발견하지 못할 수 있다.
예를 들어, 처음에는 오류가 없다가, 모든 빈들이 초기화 되는 경우 메모리가 부족해지는 경우가 있을 수 있고, 순환참조와 같은 문제가 발생할 수 있다. - 지연 초기화 활성화 시기 : 보통 한 부분에 대해 반복적으로 개발 중인 경우이다. 지연 초기화와 devtools를 통해 시작 시간을 대폭 줄여 개발 생산성을 높일 수 있다. 특정 부분에 대해서만 확인하는 경우이기 때문에 모든 Bean을 초기화할 필요가 없다
- 글로벌하게 지연 초기화를 적용시키려면 application.properties 파일에 가서 spring.main.lazy-initialization=true을 입력하면 된다.
- 만약 특정 클래스에 대해서만 적용하려면 @Lazy 어노테이션을 붙여주면 된다.
스프링 Devtools 설정 방법
1. Devtools 의존성을 주입해준다.
2.

3.

'Spring Boot > Spring Core' 카테고리의 다른 글
| SpringApplication.run() & @SpringBootApplication (0) | 2025.08.22 |
|---|---|
| Spring Core @Primary & @Qualifier (1) | 2025.08.05 |
| Spring Core Config Bean (0) | 2024.07.21 |
| Spring Core Bean Lifesycle Methods (0) | 2024.07.21 |
| Spring Core Bean Scope (0) | 2024.07.21 |