스프링 빈의 생명주기
2022. 1. 14. 08:33
Spring
데이터베이스의 커넥션 풀은 애플리케이션이 시작될 때 연결을 해서 풀을 생성해 놓는다. 이후 애플리케이션이 종료가 될 때 연결을 끊게 된다. 이를 스프링에서 사용한다고 하면 빈이 의존관계 주입까지 끝나면 연결을 하고, 빈이 소멸되면 연결을 끊는 행위가 필요하다. 그렇다면 스프링에서는 이를 어떻게 처리할 수 있을까? 스프링 빈의 생명 주기 스프링은 아래와 같은 생명 주기를 갖는다. 스프링 컨테이너 생성 → 스프링 빈 생성 → 의존관계 주입 → 초기화 콜백 → 사용... → 소멸 전 콜백 → 스프링 종료 초기화 콜백 → 빈이 생성되고, 의존관계 주입이 완료된 후에 호출되는 것 소멸 전 콜백 → 빈이 소멸되기 전에 호출되는 것 당연한 것이지만 스프링은 의존관계 주입까지 끝나야 올바르게 빈을 사용할 준비가 된다...