BeanDefinition 可以通过继承获得父 BeanDefinition 的属性,开发中实际运用的比较少。
非继承:
<bean id="parent" class="com.azh3ng.service.Parent" cope="prototype"/>
<bean id="child" class="com.azh3ng.service.Child"/>
上述情况下,child 是单例 Bean。
继承 BeanDefinition:
<bean id="parent" class="com.azh3ng.service.Parent" cope="prototype"/>
<bean id="child" class="com.azh3ng.service.Child" parent="parent"/>
上述情况下,child 继承了 parent 的 scope
,继承后,child 是原型 Bean。
child Bean 在生成 Bean 对象之前,需要进行 合并 BeanDefinition,得到完整的 child 的 BeanDefinition。