我有一个 BeanA,它的构造函数需要 BeanB。 BeanB 实例化(及其属性设置)后,我想调用 BeanB.init()
有没有办法做到这一点?
另一种方法是在创建上下文中的所有 bean 之后调用 BeanB.init()。
干杯!
最佳答案
您可以在 applicationContext.xml
中使用 init-method
来指定一个初始化方法。如果你想让一个 bean 在另一个之后实例化,你可以使用 depends-on
,即使任何 ref
元素(在这个例子中 constructor-args
) 将隐式放置依赖项。
这将首先使用 init
方法初始化 Bean B,完成后,将其用作 A 的构造函数参数。
<!-- Bean B -->
<bean id="beanB"
class="classB"
init-method="init"
/>
<!-- Bean A -->
<bean id="beanA"
class="classA"
init-method="anotherInit">
<constructor-arg ref="beanB"/>
</bean>
关于java - Spring:Bean B 加载完成后如何初始化 Bean A?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7499753/