我有一个项目A,其中项目B被定义为依赖项。项目B有一个在xml中定义的bean,它读取一些属性。我无权修改项目B,但需要在项目A中使用这个bean,有没有办法可以使用这个bean,但是这个bean应该读取新属性而不是现在读取的属性。
答案 0 :(得分:0)
您可以使用新类扩展bean,并在新类中覆盖所需的属性。
例如。以下bean在项目B中:
<bean id="customer" class="com.napster.Customer">
<property name="country" value="India" />
</bean>
在你的项目中扩展该bean,这样你将拥有该bean所暴露的所有行为,你可以覆盖某些属性。
<bean id="retailCustomer" class="com.retail.Customer" parent="customer">
<property name="country" value="United States" />
</bean>
只要bean在同一个applicationContext中加载,继承就应该有效。
答案 1 :(得分:0)
我的项目中有类似情况,下面的配置类(在项目A中)按预期工作:
float myTabLayoutSize = 360;
if (DeviceInfo.getWidthDP(this) >= myTabLayoutSize ){
tabLayout.setTabMode(TabLayout.MODE_FIXED);
} else {
tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE);
}
重点是将新bean定义为主要。