我正在阅读 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> 

请您参考如下方法:

不,Spring 上下文将选择一个 bean 定义而不是另一个。它选择哪一个取决于文件在初始化期间输入上下文的顺序。

日志记录应该表明一个 bean 定义正在覆盖另一个。


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!