인프런 커뮤니티 질문&답변

김민지열심히해님의 프로필 이미지
김민지열심히해

작성한 질문수

스프링 핵심 원리 - 기본편

인터페이스 InitializingBean, DisposableBean

콜백 메서드를 사용하면 의존관계주입이 일어나는건가요?

작성

·

311

2

앞 강의에서는

setUrl메서드가 실행되지 않고 

NetworkClient()생성자만 호출이 되었고, 

(스프링빈생성할때 생성자 호출)

 

setUrl이 실행되지 않아 url=null, 로 뜨고

close + url 도실행되지않았는데요

 

이번에 초기화,소멸 콜백을 하면

setUrl에서 url도 설정되고, 스프링이 내려가는거까지 나오는데요

 

지난번의 강의에서는 그럼 스프링이 의존관계도 주입되지 않고 종료되는건가요?  

이번강의에서는 콜백을 사용하면

의존관계주입이 이루어져야 콜백이 되니까

setUrl이 일어난건가요??

 

그러니까 궁금한건 왜 지난번 강의에선 

setUrl이 이루어지지않은걸까요??

 

답변 1

4

안녕하세요. ktk7167님, 공식 서포터즈 David입니다.

생성자 내에서 connect 메서드가 호출되느냐

afterProperties 메서드 내에서 connect 메서드가 호출되느냐 차이입니다.

생성자에서 connect 메서드를 호출하면 아직 setUrl 하기 전이라 url이 null이고

afterProperties 메서드 내에서 connect 메서드를 호출하면 setUrl 이후에 호출되는 거라 url이 정상적으로 나옵나다.

혹시 이해가 잘 안되신다면 '빈 생명주기 콜백 시작'편 스프링 빈의 이벤트 라이프사이클 부분을 반복해서 봐주세요.

감사합니다.

김민지열심히해님의 프로필 이미지
김민지열심히해

작성한 질문수

질문하기