один и тот же идентификатор компонента в другом XML-файле, он будет объединен? - PullRequest
7 голосов
/ 18 сентября 2009

Я читаю исходный код liferay и обнаружил, что 2 xml-файла используют одинаковый bean-id будут ли объединены все свойства при использовании этого способа?

dynamic-data-spring
----------------------
    <bean id="liferayDataSource" class="org.springframework.jdbc.datasource.LazyConnectionDataSourceProxy">
        <property name="targetDataSource">
            <bean class="org.springframework.aop.framework.ProxyFactoryBean">
                <property name="targetSource" ref="dynamicDataSourceTargetSource" />
            </bean>
        </property>
    </bean>

infrastructure-spring.xml
----------------------
<bean id="liferayDataSource" class="org.springframework.jdbc.datasource.LazyConnectionDataSourceProxy">
        <property name="targetDataSource">
            <bean class="com.liferay.portal.dao.jdbc.util.DataSourceFactoryBean">
                <property name="propertyPrefix" value="jdbc.default." />
            </bean>
        </property>
    </bean>

1 Ответ

7 голосов
/ 18 сентября 2009

Нет, контекст Spring выберет одно определение компонента поверх другого. Какой из них выбрать, зависит от того, в каком порядке файлы вводятся в контекст во время инициализации.

Ведение журнала должно указывать, что одно определение компонента переопределяет другое.

...