Почему этот код JavaBean XML написан так? - PullRequest
1 голос
/ 25 февраля 2011

В исходном коде проекта, над которым я работаю, есть много определений Java-бинов вида:

  <bean id="BeanName" parent="BeanName-parentBean"/>

  <bean id="BeanName-parentBean" abstract="true" parent="RealParentBean"> 
    <property name="foo" value="bar"/>
    <property name="herp" value="derp"/>
  </bean>

Я не понимаю разницу между этим и более кратким:

  <bean id="BeanName" parent="RealParentBean"> 
    <property name="foo" value="bar"/>
    <property name="herp" value="derp"/>
  </bean>

Есть ли для этого стилистические или практические причины?

1 Ответ

1 голос
/ 25 февраля 2011

Во-первых, наличие родительского компонента, написанного в его собственном определении компонента, облегчает создание других компонентов, которые ссылаются на родительский компонент без необходимости копировать / вставлять.

т.е.

<bean id="BeanName" parent="BeanName-parentBean"/>
<bean id="BeanName2" parent="BeanName-parentBean"/>
<bean id="BeanName3" parent="BeanName-parentBean"/>

  <bean id="BeanName-parentBean" abstract="true" parent="RealParentBean"> 
    <property name="foo" value="bar"/>
    <property name="herp" value="derp"/>
  </bean>

* 1006 В.С. *

  <bean id="BeanName" parent="RealParentBean"> 
    <property name="foo" value="bar"/>
    <property name="herp" value="derp"/>
  </bean>
  <bean id="BeanName2" parent="RealParentBean"> 
    <property name="foo" value="bar"/>
    <property name="herp" value="derp"/>
  </bean>
  <bean id="BeanName3" parent="RealParentBean"> 
    <property name="foo" value="bar"/>
    <property name="herp" value="derp"/>
  </bean>
...