Возможно ли весной получить кастомный 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? Есть ли способ сделать это?
@AndreArtus Я знаю, что можно создать карту в BeanFactory или даже с Bean в классе Configuration, но мне просто интересно, возможен ли этот подход, который я спросил ...
Не знаю, возможно ли это вне [метафорической] коробки. Я знаю, что вы можете передать карту через конфигурацию XML, но вы хотите получить ее через отражение (если я понимаю вопрос).
@AndreArtus точно ... Сейчас у меня есть класс @Configuration, создающий @Bean для этой карты, который работает, но это не то, что я хотел ...




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