【问题标题】:Autowiring beans自动装配 bean
【发布时间】: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 验证器为空。

【问题讨论】:

    标签: java spring autowired


    【解决方案1】:

    我的建议是避免在更大的部署中使用 autowire 并自行连接 bean。

    顺便说一句,你为什么不能实例化交易验证器?您遇到什么错误?

    但是这会导致问题,因为我无法实例化界面和 来自 XML

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-24
      • 2021-09-02
      • 2021-03-22
      相关资源
      最近更新 更多