Учитывая две фасоли аннотированной с @Startup:Является ли @DependsOn необходимым для другого бина CDI, который вводится?
@Singleton
@Startup
@DependsOn("B")
public A {
@Inject
private B b;
}
@Singleton
@Startup
public B {}
ли @DependsOn в этой необходимой ситуации, чтобы обеспечить, что B инициализируется до A? Или существует какая-то условная конфигурация, которая в такой ситуации порядок инъекций определяет порядок инициализации?
Официальный учебник не охватывает этот случай, но только бобы, которые просто семантически покрыты без синтаксической/проводной связи через @Inject.
Это всегда беспокоило меня, если мне действительно нужна аннотация @DependsOn. Потому что, если SecondaryBean нуждается в PrimaryBean, это, вероятно, означает, что PB вводится в SB и используется где-то, чтобы гарантировать, что PB будет инициализирован, прежде чем я буду использовать его в SB.Есть ли реальный случай, когда SB зависит от PB, но не использует его? – rychu