2009-09-18 8 views
7

Tôi đang đọc mã nguồn của Liferay và phát hiện ra rằng 2 tệp xml sử dụng cùng một id bean. tất cả các thuộc tính sẽ hợp nhất với nhau nếu sử dụng theo cách này?cùng một id đậu trên tập tin xml khác nhau, nó sẽ hợp nhất?

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> 

Trả lời

7

Không, bối cảnh mùa xuân sẽ chọn một định nghĩa bean so với khác. Cái nào nó chọn tùy thuộc vào thứ tự các tệp được đưa vào ngữ cảnh trong khi khởi tạo.

Ghi nhật ký phải cho biết rằng một định nghĩa bean sẽ ghi đè một định nghĩa khác.

+1

Kiểm tra bản sửa lỗi mùa xuân này để tránh trò chơi "truy cập tệp nhật ký": http://jira.springframework.org/browse/SPR-4374 – SteveD