У меня есть два xml файла, определяющих beans для springframework (версия 2.5.x):
containerBase.xml:
<beans>
<bean id="codebase" class="com.example.CodeBase">
<property name="sourceCodeLocations">
<list>
<value>src/handmade/productive</value>
</list>
</property>
</bean>
</beans>
... и
containerSpecial.xml:
<beans>
<import resource="containerBase.xml" />
</beans>
Теперь я хочу настроить свойство sourceCodeLocations
bean codebase
внутри containerSpecial.xml
. Мне нужно добавить второе значение src/generated/productive
.
Простой подход заключается в том, чтобы переопределить определение codebase
в containerSpecial.xml
и добавить оба значения: один из containerBase.xml
и новый:
containerSpecial.xml:
<beans>
<import resource="containerBase.xml" />
<bean id="codebase" class="com.example.CodeBase">
<property name="sourceCodeLocations">
<list>
<value>src/handmade/productive</value>
<value>src/generated/productive</value>
</list>
</property>
</bean>
</beans>
Есть ли способ расширить список без переопределения bean?
EDIT 2009-10-06:
Целью этого является наличие стандартного контейнера containerBase
, который используется множеством разных проектов. Каждый проект может переопределять/расширять некоторые свойства, которые являются специальными для этого проекта, в своем собственном containerSpecial
. Если проект не переопределяется, он использует значения по умолчанию, определенные в containerBase
.