我有以下bean配置
<bean id="firstBean" class="...">
<property name="someProperty" fef="someOtherBean"/>
</bean>
<bean id="secondBean" class="...">
<constructor-arg ref="firstBean"/>
</bean>
问题在于,第二个bean试图从构造函数中的firstBean获取someProperty,但尚未注入。这两个类都是我无法更改的库。有没有一种方法可以在将firstBean注入secondBean之前对其进行强制设置?
谢谢
编辑
这个问题没有直接的解决方案,所以我用工厂内部解决了这两个bean并提供了实例化的secondBean来解决。
最佳答案
使第二个bean依赖于第一个。
<bean id="secondBean" class=".." depends-on="firstBean">
这样,spring会在实例化
firstBean
之前确保secondBean
准备就绪。另一种选择是使用
FactoryBean
或使用@Bean
的编程bean定义。这样,您可以更好地控制实例化过程。