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

한지호님의 프로필 이미지

작성한 질문수

스프링 핵심 원리 - 기본편

애노테이션 @PostConstruct, @PreDestroy

@PostConstruct어노테이션의 초기화 콜백 메서드에 대해서 확답이 필요합니다!

작성

·

307

·

수정됨

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.
2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.
(자주 하는 질문 링크: https://bit.ly/3fX6ygx)
3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.
(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? 예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예

[질문 내용]
안녕하세요!

초기화 콜백에 관한 강의를 듣고 정리해본 결과 지금 예제에서는 외부에서 주입 받는 객체가 없기 때문에 의존성 주입은 없고 url필드의 값 주입만 있는 것 같습니다.

그런데 @PostConstruct 어노테이션의 역할은 설정 정보에 있는 빈 객체가 생성되고, 빈 간에 의존성이 모두 주입된 직후 실행될 초기화 콜백 메서드를 지정하는 것이라고 이해했습니다.

이때 예제에서처럼 실질적으로 의존성이 존재하지 않아도 해당 어노테이션이 붙어있는 메서드가 있다면, 빈 생성 후 필드 값 주입을 마치고 똑같이 초기화 콜백을 수행하는 것이 맞나요?

그리고 @PostConstruct어노테이션의 쓰임으로는 어떠한 의존성이나 필드에 대해서 생성자로 초기화하기 까다롭거나 적절하지 않을 때, 혹은 그래야만 하는 상황에(앞서 생성자를 통해 의존성을 주입받아야만 사용할 수 있는 의존성(필드)일 때) 추가적으로 초기화하기 위해 사용하는 걸로 이해해도 될까요?

답변 1

2

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

네, 맞습니다. 잘 이해하신 것 같습니다.

감사합니다.