我正在尝试使用xml引用另一个bean,发送一个由FactoryBean生成的对象。我的问题是,由beanFactory生成的数据显然是一个FactoryBean对象,并且没有该工厂应该创建的类型。
bean的定义如下:
<bean id="daFactoryBean" class="com.whatever.something.MyFactoryBean">
[...]
</bean>
<bean id="theBeanThatProducesProblems" class="com.whatever.something.AGoodName">
<constructor-arg ref="daFactoryBean"/>
<constructor-arg ref="anotherBean"/>
</bean>
请注意,“ daFactoryBean”将产生类型为“ TheClassIWantToProduce”的对象。并且“ theBeanThatProducesProblems”期望在“ daFactoryBean”上使用该类型,但它会接收Factory本身。
factoryBean的定义如下:>
public class MyFactoryBean implements FactoryBean<TheClassIWantToProduce> { FactoryBean([..]) { [...] } [...] @Override public TheClassIWantToProduce getObject() { [...] } }
我需要产生的类是这个
public AGoodName extends RestTemplate { AGoodName(TheClassIWantToProduce foo, AnotherClassThatDoesnTComeFromAFactory foo2){ } }
事实是,我不知道怎么说弹簧的xml,我希望工厂生产的对象而不是工厂本身。由于类型无效,因此预期值未初始化。有任何提示吗?
我正在尝试使用xml引用另一个bean,发送一个由FactoryBean生成的对象。我的问题是,由beanFactory生成的数据显然是一个FactoryBean对象,并且...
解决了,我必须创建一个使用工厂bean的子bean