Внедрение компонентов в созданные вручную экземпляры - PullRequest
0 голосов
/ 10 января 2019

Предположим, у меня есть что-то вроде этого:

@Component(immediate = true)
public class A {}

public class B {
    @Reference
    public void injectA(A a) {...}
}

Есть ли способ ввести A в B, если я вручную создаю экземпляры B? Если нет, единственная альтернатива - просто использовать реестр служб или есть шаблон перехода?

UPDATE: Я не могу вручную внедрить экземпляр A (без использования реестра служб), потому что код, который создает экземпляры B, не имеет его.

1 Ответ

0 голосов
/ 11 января 2019

Очевидно, что вы можете сделать новый B (). InjectA (новый A ()). Но если вы хотите вручную внедрить экземпляр A, созданный SCR, вам нужно получить этот экземпляр A из реестра служб, где SCR делает его доступным.

...