2012-09-19 146 views
0

我有一個bean,它具有類型A的構造函數arg,它由工廠類B創建,工廠方法爲'getInstance(String名稱)',取決於輸入名稱B類返回A的一個實例,在applicationContext.xml文件中,我不知道如何將名稱注入'getIntance'方法,以下是我到目前爲止所做的:如何在工廠bean的工廠方法中定義參數

<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> 

回答

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> 
+0

我想用自己的方式,但現在我得到的錯誤:沒有匹配的工廠方法發現:工廠bean「B」;工廠方法'getInstance'.. – user468587

+0

我剛纔試過這個,它對我來說工作乾淨,如果你可以提供你的類,我可以嘗試和進一步調試 - 這是一個工作要點 - https://gist.github.com/ 3755598 –