Я читал некоторые статьи о необязательных зависимостях bean-компонентов, обычно предлагается использовать дополнительный класс java или весенний класс ObjectProvider.
Они работают, но мой случай немного другой.Что если в моем контексте есть несколько бинов одного типа, помеченных @Qualifier
, и я не знаю, есть ли бин, который мне нужен среди них.И мне нужен тот с конкретным именем.
@ComponentScan(basePackages = "my.package")
public class MyClass {
private final MyOptionalBean myOptionalBean;
MyClass(ObjectProvider<MyOptionalBean> myOptionalBeanObjectProvider) {
this.myOptionalBean = myOptionalBeanObjectProvider.getIfAvailable(() -> null);
}
}
Пример выше работает.Но теперь представьте, что в моем контексте зарегистрировано несколько бинов MyOptionalBean, эти бины названы.Как мне написать код, аналогичный приведенному выше, но сказать Spring, чтобы он смотрел по имени конкретного экземпляра?