给定两个豆@Startup注释:对于注入的另一个CDI bean是否需要@DependsOn?
@Singleton
@Startup
@DependsOn("B")
public A {
@Inject
private B b;
}
@Singleton
@Startup
public B {}
在这种情况下,以保证B @DependsOn neccessary在A之前初始化?或者是否存在一些关于配置的约定,在这种情况下,注入的顺序决定了初始化的顺序?
官方教程不包括这种情况,但只有通过@Inject语义上没有任何语法/连线链接的bean。
如果我真的需要@DependsOn注解,它总是困扰我。因为如果SecondaryBean需要PrimaryBean,这可能意味着PB被注入到SB中并在某处使用,所以PB在我首次在SB中使用之前保证被初始化。是否存在SB依赖于PB但不使用它的真实世界情况? – rychu