The Debugging Chronicles : "코드의 미학"

[Spirng] 프레임워크 구조 -2 ( pre-loading / lazy-loading) 본문

Spring

[Spirng] 프레임워크 구조 -2 ( pre-loading / lazy-loading)

sweetseonah1004 2024. 10. 1. 12:26

스프링 컨테이너는 객체를 즉시 로딩한다.(pre-loading)

 

근데 실제로 사용하면 로딩하도록 (lazy-loading)

지연 로딩으로 설정을 변경해보자!

 

사용자는 서비스 접속할 때 지연되는 것은 기다린다 하지만 서비스 사용중에 지연되는 것은 대부분 기다리지 못한다.

 

멤버 변수의 초기화는 생성자가 한다.

 

근데

멘버 변수인데, 생성자에서 초기화하지 않는 특이한 경우가 있다.

init() 함수에서 초기화하는 경우이다.

 

 

스프링에서 함께 호출하기 위해 init-method를 추가해준다

 

 

로그를 보면

 

 

이를 자바 코드로 바꾸게 되면

 

어떤 객체가 메모리에 단 1개 존재한다.

"싱글톤" 패턴이 유지된다.

 

스프링 프레임 워크는 (스프링 컨테이너)

싱글톤 패턴을 유지시킨다.

 

 

디폴트 값이 싱글톤이다

그래서 프로토타입으로 바꾸면 여러개가 가능하다.