Configuration 간에도 Parent와 Child를 사용할 수 있다는 걸 얼핏 보고 거의 사용하지 않는 다는 문구를 보고 그냥 지나갔었는데 그걸 활용 할 방법을 생각하신 선배님은 정말 엄청난 Spring 매니아 이십니다.

소스코드를 보다가 멋칫 한 건..

1. setParentBeanFactory 라는 메소드를 처음 봤기 때문이였고..
2. 혹시 getFactoryFromClassPath 이것도 이미 존재하는 메소드 인가..
3. ProxyFactoryBean이 자주 쓰이는 구나.. 공부해야겠네..

였습니다.

1. AbstractBeanFactory에 있는 구현 되어 있는 메소드로 ConfigurableBeanFactory 인터페이스에 선언되어 있습니다.

//ConfigurableBeanFactory
void setParentBeanFactory(BeanFactory parentBeanFactory) throws IllegalStateException;

//AbstractBeanFactory
public void setParentBeanFactory(BeanFactory parentBeanFactory) {
        if (this.parentBeanFactory != null && this.parentBeanFactory != parentBeanFactory) {
            throw new IllegalStateException("Already associated with parent BeanFactory: " + this.parentBeanFactory);
        }
        this.parentBeanFactory = parentBeanFactory;
    }

2. 만들어 줘야 하더군요. 훔,,근데 여기서 궁금증이 생겼습니다.

    private BeanFactory getFactoryFromClassPath(String resource) {
        return new ClassPathXmlApplicationContext(resource);
    }

왜 이건 안되고.. 아래 것은 될까요..

    private BeanFactory getFactoryFromClassPath(String resource) {
        return new XmlBeanFactory(new ClassPathResource(resource));
    }

 
3. 은.. 벌써 시간이 2시 30분인 관계로.. 내일로 미룹니다.. 어차피 오늘이지만.ㅋ.