【发布时间】:2011-08-03 11:20:41
【问题描述】:
我创建了一些 bean 来验证对象:
<!-- RES rules engine -->
<bean id="rules-execution-server-engine"
class="util.res.RuleEngineRESJSE">
<constructor-arg index="0" value="util.res.rulesengine.log" />
</bean>
<bean id="rio-object" class="UROImpl">
</bean>
<bean id="trade-validator-context"
class="rule.trade.TradeValidationContext">
<constructor-arg index="0" ref="rio-object" />
</bean>
<bean id="trade-validator"
class="validator.RESTradeValidator">
<constructor-arg index="0" ref="trade-validator-context" />
<constructor-arg index="1" ref="validation-rules-helper" />
</bean>
<bean id="validation-rules-helper"
class="util.res.RESRulesHelperImpl">
<constructor-arg index="0" value="rule.traderules.loc" />
<constructor-arg index="1" ref="rules-execution-server-engine" />
</bean>
我可以通过 main 方法成功调用和创建它们。 但是,我现在正尝试将此代码集成到我的其他模块中。 trade-validator bean 实现了一个如下所示的接口:
public interface IValidator {
public Object validate(Object obj) throws ValidationException;
}
我希望通过接口调用它:
validator.validate(rioObject);
但是这会导致问题,因为我无法实例化接口,并且从 XML 中您可以看到实际需要另外两个 bean 作为其构造函数。我一直在研究自动布线的方法。但我仍然在掌握它。
有没有办法将它指向 bean 作为要使用的验证器?由于 atm 验证器为空。
【问题讨论】: