Вопрос

Правда ли, что аннотации javax.inject могут функционировать как прямые замены для com.google.inject?

Так что, если бы я заменил все свои нынешние аннотации Guice/Gin на Anco And от javax.inject, мое приложение скомпилируется и работает просто отлично?

Во -первых, охватывает ли Javax.inject все основания, которые покрывают Google.inject?

Это было полезно?

Решение

Да, это будет работать нормально. Фактически, автор Guice (Bob Lee) является спецификацией для javax.inject Технические характеристики.

javax.inject.Inject не имеет optional Атрибут, поэтому, если вы хотите дополнительную зависимость, вам придется использовать аннотацию Guice.

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

На самом деле, я решил воздерживаться от перехода на javax.inject, потому что я нахожу спецификацию намного минималистичной по сравнению с тем, что предоставляет Guice (что я использую):

  • @Optional Как упоминалось @bozho
  • @ImplementedBy что очень полезно, если вы хотите уменьшить количество явных привязков (для ясности кода) и когда вы хотите легко переопределить по умолчанию @ImplementedBy Привязка, если вам нужно (например, для интеграционных тестов).

Вероятно, есть другие, но для меня эти 2 уже являются шоу -стопперами.

Вопрос довольно старый, но ... к вашему сведению: вы можете автоматически Проверьте это на Apiwave.

Учившись с прошлыми изменениями, мы видим, что com.google.inject.Inject может быть заменен на javax.inject.Inject.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top