이것과 매우 비슷하지만 실제 앱에서는 잘 사용하지 않는 @PreDestroy 애너테이션을 사용할 수 있다. 이 애너테이션을 사용하면 스프링이 컨텍스트를 닫고 삭제하기 직전에 호출되는 메서드를 정의할 수 있다. @PreDestroy 애너테이션은 JSR-250에도 설명되어 있으며 스프링에서 차용했다. 하지만 보통은 이 애너테이션을 사용하지 말고 스프링이 컨텍스트를 지우기 전에 무언가를 실행하는 다른 접근 방식을 찾는 편이 좋은데, 스프링이 컨텍스트를 삭제하는 데 실패할 수 있기 때문이다. 데이터베이스 연결을 닫는 것처럼 민감한 작업을 @PreDestroy 메서드에 정의하는 상황을 상상해 보자. 스프링이 이 메서드를 호출하지 않으면 큰 문제가 발생할 수 있다.