2009-09-18 6 views
7

Ich lese liveray Quellcode und fand heraus, dass 2 xml-Dateien mit der gleichen Bean-ID. Werden alle Eigenschaften zusammengeführt, wenn Sie auf diese Weise arbeiten?gleiche Bean-ID auf andere XML-Datei, wird es zusammenführen?

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> 

Antwort

7

Nein, der Spring-Kontext wählt eine Bean-Definition über die andere. Welche davon gewählt wird, hängt davon ab, in welcher Reihenfolge die Dateien während der Initialisierung in den Kontext eingegeben werden.

Die Protokollierung sollte anzeigen, dass eine Bean-Definition eine andere überschreibt.

+1

Schauen Sie sich diesen Springfix an, um das Spiel "jage the log file entry" zu umgehen: http://jira.springframework.org/browse/SPR-4374 – SteveD

Verwandte Themen