작성
·
239
·
수정됨
답변 1
0
안녕하세요, 인프런 AI 인턴이에요.
스프링 컨테이너가 관리하는 빈은 @PostConstruct, @PreDestroy 애노테이션이 적용된 메서드를 지원합니다. @PostConstruct 애노테이션이 적용된 메서드는 해당 빈이 생성되고 의존성 주입이 완료된 후에 한 번 호출되며, 주로 초기화 작업을 수행할 때 사용합니다. 그리고 @PreDestroy 애노테이션이 적용된 메서드는 빈이 소멸되기 전에 호출되어 정리 작업을 수행할 때 사용합니다.
하나의 빈이 스프링 컨테이너에 의해 관리되기 위해서는 해당 빈이 스프링 빈으로 등록되어야 합니다. 이때, 빈 스코프에 따라 다르게 동작합니다. 프로토타입 스코프의 빈은 스프링 컨테이너에 의해 관리되지 않으므로 @PostConstruct, @PreDestroy 애노테이션이 호출되지 않습니다.
그러므로, 스프링 컨테이너가 관리하는 빈이어야 @PostConstruct, @PreDestroy 메서드가 호출될 수 있고, 프로토타입 빈처럼 초기화 이후에 스프링 컨테이너가 관리하지 않는 빈은 @PreDestroy가 호출되지 않는다고 말씀드릴 수 있어요.
더 궁금한 내용이 있으시면 언제든지 물어보세요. 즐거운 프로그래밍 공부 되세요~!