如何在创建自定义作用域时初始化bean

时间:2011-12-02 13:35:23

标签: java spring

我为我的Spring配置定义了一个自定义作用域,我想在“创建自定义作用域之后”初始化我的一些bean。目前我的bean没有被初始化,因为当范围准备好时,可能没有在正确的时间调用它。

“myScope”是通过Java代码创建的。

<bean id="myAdvice" class="com.myclass" scope="myScope">
 <property name="name1" ref="ref1" />     
</bean>

1 个答案:

答案 0 :(得分:0)

  

“myScope”是通过Java代码创建的。

然后切换到XML或Java-based configuration。如果这样做,您的范围可以有lifecycle callback methods,请实现InitializingBean等。

如果不这样做,则必须在初始化范围时以编程方式自行完成所有操作。您可以使用applicationContext.getAutowireCapableBeanfactory()并使用AutowireCapableBeanFactory手动连接示波器,例如 AutowireCapableBeanFactory.initializeBean(Object, String)后处理范围(也将执行任何已注册的生命周期回调)。