如何在Spring中连接相互依赖的bean?

沙沙语:

我想声明两个bean并使用Spring依赖注入实例化它们?

<bean id="sessionFactory" class="SessionFactoryImpl">
 <property name="entityInterceptor" ref="entityInterceptor"/>
</bean>

<bean id="entityInterceptor" class="EntityInterceptorImpl">
 <property name="sessionFactory" ref="sessionFactory"/>
</bean>

但是Spring抛出一个异常,说“当前正在创建的FactoryBean从getObject返回null”

为什么相互依赖的bean接线在这里不起作用?我应该在任何地方指定延迟属性绑定吗?

内网:

不幸的是,容器初始化在Spring中的工作方式是,一个bean必须在完全初始化后才能注入另一个bean。在您的情况下,您有一个循环依赖关系,该关系阻止任何一个bean初始化,因为它们相互依赖。为了解决这个问题,您可以在一个bean中实现BeanFactoryAware并使用beanFactory.getBean(“ beanName”)获得对另一个bean的引用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章