我有一个问题,这是它的要点:(循环中涉及更多类,但是可以用这种方式表示)
@service
public class serviceDispatcher{
@Autowired
private BeanA a;
@Autowired
private BeanB b;
public BeanA getBeanA(){
return a;
}
public BeanB getBeanB(){
return b;
}
}
@Service
public class BeanA{
@Autowired
ServiceDispatcher sd;
@PostConstruct
private void init(){
sd.getBeanB().method;
}
}
所以很明显我得到了一个空指针,因为BeanB b尚未解析。我还使用了afterPropertiesSet,它是相同的。我的问题是,是否有一种方法可以在初始化整个上下文之后运行init()方法,以便不获取此空指针?我知道一个事实,即存在这种循环依赖关系很麻烦,需要解决,但我只是重构一个大型项目以使用Spring DI,并且更改设计,逻辑和业务需要一个漫长的过程来要求由以下人员来完成:其他团队。
慕妹3146593
炎炎设计
相关分类