-
카테고리
-
세부 분야
백엔드
-
해결 여부
해결됨
예제의 라이프사이클 질문있습니다.
24.03.04 20:17 작성 조회수 124
2
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.
1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)
질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
LifeCycleTest에서 networkClient가 빈으로 등록되는 순서가
1. new NetworkClient()로 NetworkClient 인스턴스 생성 (ulr=null)
2. setUrl을 통해 1에서 생성된 인스턴스의 url 설정
3. 스프링 컨테이너에 빈 등록
이 순서로 이해했습니다.
스프링 빈의 라이프사이클이
스프링 빈 생성 -> 의존관계 주입 -> 초기화 콜백 -> 사용 -> 소멸전 콜백 이 순서인데
이 강의의 예제에서 의존관계 주입은 없으니까 바로 초기화 콜백인 init()이 실행되고, 사용 또한 하지 않으니 바로 소멸전 콜백인 close()가 실행 되는 것으로 이해하면 될까요?
정리하면
networkClient 빈 생성 -> x -> init() -> x -> close()
이 순서가 맞는지 확인 부탁드립니다!
답변을 작성해보세요.
2
OMG
2024.03.05
안녕하세요. pstor23님, 공식 서포터즈 OMG입니다.
networkClient 빈 생성 -> x -> init() -> x -> close()
여기서 x가 무엇인지 고민했는데,
스프링 빈 생성 -> 의존관계 주입(x) -> 초기화 콜백 -> 사용(x) -> 소멸전 콜백
와 매칭이 되나보네요.
말씀하신 것처럼 NetworkClient는 의존관계가 없고(ex)MemberService와 MemberRepository와 같은)
빈을 조회하는 것 외의 사용하는 코드가 없으므로 이해하신 내용에 틀린 내용은 없는 것 같습니다 😀
감사합니다.
답변 1