우선 스프링 빈은 생명주기를 갖는다. 또 빈의 라이프 사이클은 스프링 컨테이너에 의해 관리받는다. 순서대로 빈 객체생성 -> 의존주입 -> 객체 초기화 -> 객체 소멸. 이런 주기를 갖는다. 모든 스프링 설정클래스에 의해 컨테이너에 등록되는 빈 객체는 위와같은 생명주기를 따른다. 컨테이너에 등록된 빈을 getBean() 메서드에 의해 사용가능한 기간은 초기화와 소멸 사이의 기간이다. 빈 객체의 소멸은 AnnotationConfigApplicationContext 클래스의 부모 클래스인 AbstractApplicationContext에 구현된 close() 메서드를 호출하면 된다. 그런데 이런 라이프사이클이 중요한 이유는 빈의 초기화와 소멸 단계에서 프로그램의 필요에 의해 수행되어야 하는 과정이 있을 경우..