为了账号安全,请及时绑定邮箱和手机立即绑定

spring初始化bean的问题

/ 猿问

spring初始化bean的问题

慕标5265247 2018-10-29 09:09:17

如题, 工作中遇到一个类似"循环引用"的问题:

<bean id="A" class="com.xxx.A"  init-method="initA">
        <property name="B" ref="B"></property>
</bean>

<bean id="B" class="com.xxx.B"  init-method="initB">
</bean>

上面的xml加载初始化 "A" bean的时候, 配置ref B 会依据无参构造器创建“B”Bean, 并暴露一个exposedObj提前返回, 此时initB未执行 , 继续完成"A" bean 的创建, 执行initA , 而initA需要initB提供的一些变量, 就会发生空指针异常.

解决方法一: 先初始化B bean, 还有其他方法吗?


查看完整描述

2 回答

?
繁华开满天机

将initA的代码转移到afterPropertiesSet函数中去做,这个函数在InitializingBean接口中定义

查看完整回答
反对 回复 2018-11-03
?
元芳怎么了

在创建一个配置文件 主配置文件加载B 引用配置文件加载A

查看完整回答
反对 回复 2018-11-03
  • 2 回答
  • 0 关注
  • 258 浏览
我要回答

相关问题推荐

慕课专栏
更多

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信