Java2EE Framework/Spring 2.0

스프링2.0 - 빈 생명 주기 관리 방법

본클라쓰 2010. 6. 3. 08:51

 Spring 2.0 프레임워크는 빈 설정 파일(Bean Definition)의 정보를 바탕으로 POJO 빈의 생명주기를 관리한다. Spring 프레임워크의 빈 설정 파일은 애플리케이션이 시작할 때 한 번 초기화가 진행되며 애플리케이션이 운영되는 동안 초기화 된 정보를 계속해서 재사용한다. Spring 2.0 의 빈의 라이프 사이클은 다음과 같다.

 

빈설정 파일 정보 초기화 → PoJO 빈 초기화 상태(빈의 의존관계 여부 체그) → POJO 빈 준비 상태 → POJO 빈 소멸

 

 Spring 프레임워크는 먼저 빈 설정 파일의 POJO 빈을 인스턴스화하지 않은 상태로 빈 설정 파일 정보를 초기화한다. 빈 설정 파일의 정보를 초기화하면서 XML DTD에 대해 유효한지 체크한다.

 

 빈 인스턴스가 생성되면서 의존관계에 있는 빈이 존재하는지의 여부를 체크하여 의존관계에 있는 빈이 존재하지 않는다면 빈의 초기화에 실패한다. 의존관계에 있는 빈의 체크가 완료되면 settet 메소드를 호출하거나, 생성자의 인자로 실질적인 값을 추가하거나, 다른 빈에 대한 래퍼런스를 전달한다. 초기화 과정을 거치고 나면 생성한 빈은 사용 가능한 준비 상태에 놓이게 된다. 이렇게 초기화된 빈은 BeanFactory 의 getBean() 메소드를 이용하여 접근하는 것이 가능하게 된다. 이렇게 생성된 빈은 애플리케이션이 운영되는 동안 준비 상태로 서비스를 진행하다 애플리케이션이 종료될 때 종료 메소드를 호출하면서 빈의 생명을 다하게 된다.

 

 Spring 프레임워크는 빈 설정 파일에 정의되어 있는 설정 정보를 초기화하고 초기화된 빈에 접근하기 위한 목적으로 BeanFactory 와 ApplicationContext 인터페이스를 가지고 있다.

 

 빈 설정 파일에 정의되어 있는 정보를 바탕으로 기본적인 빈의 생성, 초기화, 빈에 대한 접근과 같은 기능을 제공하는 인터페이스는 BeanFactory 이다.

 

 ApplicatinContext 인터페이스는 BeanFactory 의 하위 인터페이스로 BeanFactory 가 가지고 있는 기능 외에 추가적인 기능을 지원하고 있다.