Remplacement de com.google.inject par javax.inject


Answers

En fait, j'ai choisi de ne pas passer à javax.inject, parce que je trouve la spécification beaucoup plus minimaliste que ce que Guice fournit (que j'utilise):

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

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

Question

Est-il vrai que les annotations javax.inject peuvent fonctionner comme des remplacements directs pour com.google.inject?

Donc, si je remplaçais toutes mes annotations guice / gin actuelles par celles de javax.inject, mon application compilerait et fonctionnerait bien?

Tout d'abord, javax.inject couvre-t-il toutes les bases que couvre google.inject?




La question est assez ancienne mais ... FYI: vous pouvez vérifier automatiquement cela sur apiwave .

En apprenant avec les changements passés, nous voyons que com.google.inject.Inject peut être remplacé par javax.inject.Inject .