2009-09-18 9 views
7

estoy leyendo el código fuente de liferay y descubrí que 2 archivos xml usan el mismo bean-id. ¿se fusionarán todas las propiedades si se usa de esta manera?mismo id de frijol en un archivo xml diferente, ¿se fusionará?

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> 

Respuesta

7

No, el contexto de primavera seleccionará una definición de bean sobre la otra. El que elija depende del orden en que se introducen los archivos en el contexto durante la inicialización.

El registro debe indicar que una definición de bean está anulando a otra.

+1

Echa un vistazo a este arreglo de Spring para evitar el juego de "cazar la entrada del archivo de registro": http://jira.springframework.org/browse/SPR-4374 – SteveD

Cuestiones relacionadas