我有两个bean indCartStrategy
和usCartStrategy
,它们具有不同的ID,但具有相同的类和不同的参数值。我将它们都别名为相同的别名。而不是调用我的更高别名ID,它仍然调用前一个bean,而不是我声明的那个bean。
<alias name="indCartStrategy" alias="cartStrategy"/>
<bean id="indCartStrategy" parent="defaultCartStrategy" class="com.strategy.impl.USCartStrategyImpl">
<property name="cartValidators">
<map key-type="com.validation.USCartValidationType">
<entry key="CART_PAGE">
<list value-type="com.validation.USCartValidator">
<bean class="com.validation.impl.USValidator2"/>
</list>
</entry>
</map>
</property>
</bean>
<alias name="usCartStrategy" alias="cartStrategy"/>
<bean id="usCartStrategy" parent="defaultCartStrategy" class="com.strategy.impl.USCartStrategyImpl">
<property name="cartValidators">
<map key-type="com.validation.USCartValidationType">
<entry key="CART_PAGE">
<list value-type="com.validation.USCartValidator">
<bean class="com.validation.impl.USValidator1"/>
<bean class="com.validation.impl.USValidator2"/>
</list>
</entry>
</map>
</property>
</bean>
在我的bean中,indCartStrategy
USValidator1
在调用cartStrategy时没有被调用,而两个验证器(即USValidator1
和USValidator2
都被调用了。