Я создал несколько бинов для проверки объекта:
<!-- 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>
Я могу успешно вызывать и создавать их с помощью основного метода.
Однако сейчас я пытаюсь интегрировать этот код в другие мои модули.
Компонент trade-validator реализует интерфейс, который выглядит следующим образом:
public interface IValidator {
public Object validate(Object obj) throws ValidationException;
}
Я надеюсь позвонить через интерфейс:
validator.validate(rioObject);
Однако это вызывает проблемы, так как я не могу создать экземпляр интерфейса, и из XML вы можете увидеть, что фактическое требует двух других bean-компонентов для его конструктора. Я искал подход с автопроводкой. Но я все еще справляюсь с этим.
Есть ли способ указать его на боб как на валидатор для использования? В качестве атм валидатор равен нулю.