Spring 如何在工厂bean中定义参数';s工厂法

Spring 如何在工厂bean中定义参数';s工厂法,spring,applicationcontext,Spring,Applicationcontext,我有一个bean,它有一个类型为a的构造函数arg,它是由工厂类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,它有一个类型为a的构造函数arg,它是由工厂类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>


您应该能够做到这一点:

<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”…我刚刚尝试了这个方法,它对我来说非常有效,如果你能提供你的类,我可以尝试进一步调试-这里是一个工作要点-