【问题标题】:how to define the argument in the factory-bean's factory-method如何在工厂bean的工厂方法中定义参数
【发布时间】:2014-02-21 15:34:10
【问题描述】:

我有一个具有 A 类型的构造函数参数的 bean,它由工厂类 B 创建,B 有一个工厂方法为“getInstance(String name)”,取决于输入名称 B 类返回一个A 的实例,在 applicationContext.xml 文件中我不知道如何将名称注入“getIntance”方法,这是我目前所做的:

<bean id="A" class="blah.blah.blah.">
  <constructor-arg type="foo.foo.foo.foo">
    <bean factory-bean="B" factory-method="getInstance" />  <== should it be getInstance('halo') instead?
  </constructor-arg>
</bean>

<bean id="B" class="boo.boo.boo.boo"></bean>

【问题讨论】:

    标签: spring applicationcontext


    【解决方案1】:

    你应该可以这样做:

    <bean id="A" class="blah.blah.blah.">
      <constructor-arg type="foo.foo.foo.foo">
        <bean factory-bean="B" factory-method="getInstance" >  
            <constructor-arg value="aName"/>
        </bean>
      </constructor-arg>
    </bean>
    

    【讨论】:

    • 我试过你的方法,但现在我得到了错误:没有找到匹配的工厂方法:工厂 bean 'B';工厂方法'getInstance'..
    • 我刚刚尝试了这个,它对我来说很干净,如果你能提供你的课程,我可以尝试进一步调试 - 这是一个工作要点 - gist.github.com/3755598
    猜你喜欢
    • 1970-01-01
    • 2012-08-29
    • 2011-01-05
    • 1970-01-01
    • 1970-01-01
    • 2019-08-08
    • 1970-01-01
    • 2013-08-29
    • 1970-01-01
    相关资源
    最近更新 更多