我需要先初始化一个组件。使用@DependsOn,它看起来像这样:
@Component("beana")
public class BeanA{
@PostConstruct
void init(){
// do smth
}
}
@Component("beanb")
@DependsOn("beana")
public class BeanB{
@PostConstruct
void init(){
// do smth
}
}
Run Code Online (Sandbox Code Playgroud)
我现在必须告诉BeanB,它取决于BeanA的初始化。我的问题是我不希望BeanB知道BeanA的存在(例如,当BeanB在初始化时在EventBus中发布事件,而BeanA处理这些事件时)。我想在BeanA上使用注释,说明它应该在BeanB之前初始化。所以会是这样的:
@Component("beana")
@RequiredBy("beanb")
public class BeanA{
@PostConstruct
void init(){
// do smth
}
}
@Component("beanb")
public class BeanB{
@PostConstruct
void init(){
// do smth
}
}
Run Code Online (Sandbox Code Playgroud)
是否有任何Spring注释或像这样处理它的可能性?