Whiteship's Note

3.6. Bean definition inheritance

Spring/Chapter 3 : 2007.03.12 16:05


bean 설정 내용 사이에 상속 관계를 정의할 수 있습니다.

1. 부모쪽 bean 설정 파일에는 아무것도 설정하지 않아도 괜찮지만 만약 class 속성에 아무것도 지정하지 않을 경우에는 abstract="ture"를 추가해야 합니다.

2. 자식쪽 bean 설정에서는 상속할 bean을 parent 속성에 적어 주면 됩니다.

abstract="true"를 설정한 bean의 객체는 만들 수 없습니다. 테스트는 다음과 같이 작성했습닏.
@Test public void beanDefinitionInheritance(){
        try{
            Member keesun13 = getMember("keesun13");
            fail("keesun13 cannot be instantiation");
        }catch (Exception e) {
        }
        Member keesun14 = getMember("keesun14");
        assertTrue(keesun14.getId().equals("기선이다"));
        assertTrue(keesun14.getPassword().equals("password"));
        assertTrue(keesun14.getAge() == 26);
    }

설정 파일은 다음과 같습니다.
    <bean id="keesun13" abstract="true">
        <property name="id" value="기선" />
        <property name="password" value="password" />
    </bean>

    <bean id="keesun14" class="beanConfiguration.Member" parent="keesun13">
        <property name="id" value="기선이다" />
        <property name="age" value="26" />
    </bean>
테스트가 통과 합니다.
top




: 1 : ··· : 29 : 30 : 31 : 32 : 33 : 34 : 35 : 36 : 37 : ··· : 58 :