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>

테스트가 통과 합니다.