Допустим, у меня есть интерфейс с именем SocialNetworkService
и три реализации - TwitterService
, FacebookService
и FriendFeedService
.
Теперь я хочу, когда бы мне ни управлял bean-компонент (или любой другой веб-компонент)получает сообщение, чтобы поделиться им во всех социальных сетях.Я попытался:
@Inject private List<SocialNetworkService> socialNetworkServices;
Но это не сработало (ошибка развертывания).(Также пытался использовать квалификатор @Any
- тот же результат)
Итак, есть ли способ внедрить список всех (или некоторых) реализаций интерфейса?
Я знаю правилочто данная точка инъекции не должна иметь более одного возможного компонента.Я думаю, что я могу добиться этого, создав производителя, который создает список, и используя Instance<SocialNetworkService>
, но это кажется слишком большим для этой задачи.