Question

Est-il vrai que les annotations de javax.inject peuvent fonctionner en remplacement direct pour com.google.inject?

Alors que, si je l'ai remplacé toutes mes annotations actuelles Guice / gin avec ceux de javax.inject, mon application serait compiler et exécuter très bien?

Tout d'abord, ne couvre javax.inject toutes les bases que la couverture google.inject?

Était-ce utile?

La solution

Oui, cela fonctionnera très bien. En fait, l'auteur de Guice (Bob Lee) est une spécification plomb pour la spécification javax.inject.

javax.inject.Inject ne possède pas l'attribut optional, donc si vous voulez une dépendance en option, vous auriez à utiliser l'annotation Guice.

Autres conseils

En fait, je l'ai choisi de se abstenir de passer à javax.inject, parce que je trouve la spécification beaucoup plus minimalistes par rapport à ce Guice offre (que j'utilise):

    @Optional
  • comme mentionné par @Bozho
  • @ImplementedBy ce qui est très utile lorsque vous voulez réduire le nombre de liaisons explicites (pour la clarté du code) et quand vous voulez être en mesure de passer outre facilement la @ImplementedBy par défaut de liaison si vous avez besoin (par exemple pour les tests d'intégration).

Il y a probablement d'autres, mais pour moi ces 2 sont showstoppers déjà.

Voir JSR-330 sur l'intégration site de Guice.

scroll top