Есть ли javax.inject.* Эквивалентный @Assisted
Мы смотрим на использование аннотаций JSR-330 javax.inject.* Вместо эквивалентов com.google.inject.*. Похоже, стандарт JSR-330 не включает в себя несколько функций, которые я полюбил в Guice.
В частности, я не вижу поддержки для ключевого слова @Assisted. А как насчет @AssistedInject? Можно ли разместить @Inject на нескольких конструкторах?
Я заинтересован в том, чтобы быть независимым от производителя, но не за счет удобных функций. Любые рекомендации?
2 ответа
@Assisted
только для Guice. Вы можете использовать его с JSR 330 @Inject
, Если вам не нужна зависимость от Guice, выполните ручную инъекцию, внедрив в код интерфейс фабрики.
В ответ на один из ваших вопросов:
Можно ли разместить @Inject на нескольких конструкторах?
от Javadoc
Инъецируемые конструкторы аннотируются @Inject и принимают ноль или более зависимостей в качестве аргументов. @Inject может применяться не более чем к одному конструктору на класс.
Поэтому я думаю, что ответ - нет.