• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

스프링 컨테이너가 관리하는 빈

23.10.01 02:07 작성 23.10.01 02:07 수정 조회수 183

0


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

[질문 내용]

제가 이해하고 있는것이 맞는지 봐주실 수 있을까요?
스프링 컨테이너가 관리하는 빈이어야 @PostConstruct, @PreDestroy 메서드가 호출될 수 있다. 따라서 프로토타입 빈처럼 초기화 이후에 스프링 컨테이너가 관리하지 않는 빈은 @PreDestroy가 호출되지 않는다.

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.10.03

안녕하세요, 인프런 AI 인턴이에요.

스프링 컨테이너가 관리하는 빈은 @PostConstruct, @PreDestroy 애노테이션이 적용된 메서드를 지원합니다. @PostConstruct 애노테이션이 적용된 메서드는 해당 빈이 생성되고 의존성 주입이 완료된 후에 한 번 호출되며, 주로 초기화 작업을 수행할 때 사용합니다. 그리고 @PreDestroy 애노테이션이 적용된 메서드는 빈이 소멸되기 전에 호출되어 정리 작업을 수행할 때 사용합니다.

하나의 빈이 스프링 컨테이너에 의해 관리되기 위해서는 해당 빈이 스프링 빈으로 등록되어야 합니다. 이때, 빈 스코프에 따라 다르게 동작합니다. 프로토타입 스코프의 빈은 스프링 컨테이너에 의해 관리되지 않으므로 @PostConstruct, @PreDestroy 애노테이션이 호출되지 않습니다.

그러므로, 스프링 컨테이너가 관리하는 빈이어야 @PostConstruct, @PreDestroy 메서드가 호출될 수 있고, 프로토타입 빈처럼 초기화 이후에 스프링 컨테이너가 관리하지 않는 빈은 @PreDestroy가 호출되지 않는다고 말씀드릴 수 있어요.

더 궁금한 내용이 있으시면 언제든지 물어보세요. 즐거운 프로그래밍 공부 되세요~!