@PreDestory

@PreDestory는 Spring Bean 이 소멸되기 직전에 실행되어야 할 메서드에 붙이는 어노테이션이다.

즉, 빈이 종료될 때 정리(clean0up) 작업을 수행하기 위해 사용한다. (Spring은 이 표준 어노테이션을 인식하여 Bean 생명주기 관리에 통합함.)


동작 시점

Spring Bean의 라이플 사이클 종료 시점에 실행(컨테이너 종료, 해당 Bean이 scope에 따라 더이상 필요 없어진 경우)

<aside> 💡

Spring 의 종료 시점과 Bean 파괴 시점


사용 예시

import jakarta.annotation.PreDestroy;
import org.springframework.stereotype.Service;

@Service
public class ConnectionService {

    private final DatabaseConnection connection = new DatabaseConnection();

    public void connect() {
        connection.open();
        System.out.println("📡 DB 연결 완료");
    }

    @PreDestroy
    public void closeConnection() {
        connection.close();
        System.out.println("🔌 DB 연결 종료");
    }
}
  1. Spring이 ConnectionService를 Bean으로 등록
  2. 애플리케이션 실행 중 connect() 등 비즈니스 로직 수행
  3. Spring 종료 시점