티스토리 뷰


  1   컨테이너 간 계층



 BeanFactory와 ApplicationContext 컨테이너는 서로 자식-부모의 계층관계를 가질 수 있다. 컨테이너간 계층 구조를 구성하면, 자식컨테이너에서 부모컨테이너에 정의한 빈 객체에 접근할수 있다. 하지만 부모컨테이너에서는 자식 컨테이너에 정의된 빈 객체에 접근할 수 없다. JAVA에서의 상속관계와 같은 특징이 있다고 생각하면 된다.



 ApplicationContext나 BeanFactory 컨테이너를 생성할 때 컨테이너간의 계층관계를 구성하려면 컨테이너 생성시 부모컨테이너를 지정해 주면 된다.


 위의 childContainer 컨테이너를 생성할 때 부모 컨테이너로 parentContainer를 지정하였다. 이러한 컨테이너간의 계층 관계를 설정해 주면 chlidContainer에 설정된 빈 객체에서 parentContainer의 빈 객체를 참조 할 수 있게된다. 하지만 parentContaiber에 설정된 빈 객체는 childContainer의 빈 객체에 접근을 할 수 없다. 이유는 컨테이너 생성 시점에서 자식 컨테이너의 존재여부를 알 수 없기때문에 예외를 발생 시키게 된다.

댓글