gpt4 book ai didi

java - 在设置属性之前,bean 被注入(inject)到构造函数 arg 中

转载 作者:行者123 更新时间:2023-12-02 00:02:08 24 4
gpt4 key购买 nike

我有以下 bean 配置

<bean id="firstBean" class="...">
<property name="someProperty" fef="someOtherBean"/>
</bean>

<bean id="secondBean" class="...">
<constructor-arg ref="firstBean"/>
</bean>

问题是第二个 bean 尝试在构造函数中从第一个 Bean 获取 someProperty,但尚未注入(inject)。这两个类都来 self 无法更改的库。有没有一种方法可以在将第一个Bean注入(inject)到第二个Bean之前强制设置第一个Bean的属性?

谢谢

编辑

这个问题没有直接的解决方案,所以我用工厂解决了它,该工厂在内部管理两个bean并提供第二个Bean的实例

最佳答案

使第二个 bean 依赖于第一个 bean。

<bean id="secondBean" class=".." depends-on="firstBean">

这样 spring 将确保在实例化 secondBean 之前 firstBean 已准备就绪。

另一个选择是使用FactoryBean或使用@Bean的编程bean定义。这样您就可以更好地控制实例化过程。

关于java - 在设置属性之前,bean 被注入(inject)到构造函数 arg 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14628647/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com