Spring Автоматическое подключение всех компонентов из квалификатора на карте

Возможно ли весной получить кастомный qualifier и вернуть его в Map<MyEnum, Bean>? Пример кода:

enum class MyEnum {
  TYPE1,
  TYPE2
}

@Target(AnnotationTarget.CLASS)
@Retention(AnnotationRetention.RUNTIME)
@Qualifier
annotation class MyQualifier(val value: MyEnum)


interface BaseBean

@Service
@MyQualifier(MyEnum.TYPE1)
class Bean1: BaseBean

@Service
@MyQualifier(MyEnum.TYPE2)
class Bean2: BaseBean

@Service
class MyService @Autowired constructor(private val types: Map< MyEnum, BaseBean>)

Итак, как я могу вставить все компоненты с моим настраиваемым квалификатором в этот Map? в service? Есть ли способ сделать это?

Вы пробовали реализовать BeanFactory?

Andre Artus 04.12.2018 15:00

@AndreArtus Я знаю, что можно создать карту в BeanFactory или даже с Bean в классе Configuration, но мне просто интересно, возможен ли этот подход, который я спросил ...

Augusto 04.12.2018 15:29

Не знаю, возможно ли это вне [метафорической] коробки. Я знаю, что вы можете передать карту через конфигурацию XML, но вы хотите получить ее через отражение (если я понимаю вопрос).

Andre Artus 04.12.2018 17:22

@AndreArtus точно ... Сейчас у меня есть класс @Configuration, создающий @Bean для этой карты, который работает, но это не то, что я хотел ...

Augusto 05.12.2018 09:57
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
4
57
0

Другие вопросы по теме