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

spring中bean的初始化顺序?

spring中bean的初始化顺序?

梵蒂冈之花 2019-03-20 22:19:28
比如现在有三个bean A B C,A有成员B,B有成员C。A初始化时需要调用B的某个方法,B初始化时需要调用C的某个方法,调用这些方法的前提是该类已经初始化完毕,否则会出现异常class A{  B b;  void init(){    ...    b.foo();    ...  }}class B{  C c;  void init(){    ...    c.foo();    ...  }}在XML中已配置好了注入关系,但如果把初始化代码直接写在构造函数中,会有成员为空的情况。后改在afterPropertiesSet方法中初始化成员,但仍不能保证初始化顺序是C->B->A目前的做法是在foo()中判断该类有没有被初始化,没有则调用init(),请问有没有更好的做法呢?
查看完整描述

2 回答

?
慕哥9229398

TA贡献1877条经验 获得超6个赞

Annotation:@DependsOn("xxBean")
XML:<bean depends-on="xxBean"/>

查看完整回答
反对 回复 2019-04-25
?
慕工程0101907

TA贡献1887条经验 获得超5个赞

楼上正解。也可以 @resource 注入成员变量


查看完整回答
反对 回复 2019-04-25
  • 2 回答
  • 0 关注
  • 729 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号