-- 위 설정을 보면 세 개의 빈은 이름만 다를 뿐 <bean> 에서 가지고 있는 <property> 값이 대부분 동일하다.
이렇게 중복되는 설정을 갖는 빈이 다수 존재할 경우, 중복되는 설정 정보를 담고 있는 부모빈을 정의한 뒤, 부모 빈 정보를
재사용하도록 설장할 수 있다. 부모 빈으로 부터 설정 정보를 상속받는 예
<bean id="doorMonitor" class="madvirus.spring.chap02.SystemMonitor">
<property name="periodTime" value="10" />
<property name="sender" ref="smsSender" />
</bean>
<bean id="lobbyMonitor" class="madvirus.spring.chap02.SystemMonitor">
<property name="periodTime" value="10" />
<property name="sender" ref="smsSender" />
</bean>
<bean id="roomMonitor" class="madvirus.spring.chap02.SystemMonitor">
<property name="periodTime" value="10" />
<property name="sender" ref="smsSender" />
</bean>
<bean id="commonMonitor" class="madvirus.spring.chap02.SystemMonitor" abstract="true">
<property name="periodTime" value="10" />
<property name="sender" ref="smsSender" />
</bean>
※ abstract 속성 값을 "true" 지정하면 스프링 컨테이너는 해당 빈 객체를 생성하지 않는다.
commonMonitor 빈은 설정정보만 존재할 뿐 실제로 객체는 생성되지 않는다.
<bean id="lobbyMonitor" parent="commonMonitor">
</bean>
<bean id="roomMonitor" parent="commonMonitor">
</bean>
<bean id="doorMonitor" parent="commonMonitor">
<property name="periodTime" value="20" />
</bean>
※ 자식 빈에서는 parent 속성을 사용하여 클래스 및 프로퍼티 설정 정보를 물려 받을 부모빈을 설정한다.
그래서 자식 빈에서는 class명 설정이 없어도 부모빈의 class 설정정보를 물려받는다.
변경하고자 하는 값이 있다면, 추가로 입력해주면된다.( property , class 모두 공통 )
'공부 > SPRING(3.0)' 카테고리의 다른 글
SPRING_[ @어노테이션별 BeanPostProcessor ] (0) | 2013.03.18 |
---|---|
SPRING_[ InitializingBean Interface ] (0) | 2013.03.18 |
SPRING_[ Propertie타입 설정 <props>예제] (0) | 2013.03.18 |
SPRING_[ 파일업로드 예제(MultipartResolver & @RequestParam 이용) ] (0) | 2013.02.01 |
SPRING_[Spring 외부 설정프로퍼티] (0) | 2013.01.17 |