Domanda

È vero che le annotazioni Javax.inject possono funzionare come sostituzioni dirette per com.google.inject?

Quindi, se avessi sostituito tutte le mie attuali annotazioni Guice/Gin con quelle di Javax.Inject, la mia app si sarebbe compilata e funzionerebbe bene?

Innanzitutto, Javax.Inject copre tutte le basi che Google.Inject copre?

È stato utile?

Soluzione

Sì, funzionerà bene. In effetti l'autore di Guice (Bob Lee) è una specifica per il javax.inject specifica.

javax.inject.Inject non ha il optional Attributo, quindi se si desidera una dipendenza opzionale, dovresti usare l'annotazione Guice.

Altri suggerimenti

In realtà, ho scelto di astenermi dal passare a javax.inject, perché trovo le specifiche molto minimaliste rispetto a ciò che Guice fornisce (che uso):

  • @Optional Come menzionato da @bozho
  • @ImplementedBy Il che è molto utile quando si desidera ridurre il numero di legami espliciti (per chiarezza del codice) e quando si desidera essere in grado di sovrascrivere facilmente il valore predefinito @ImplementedBy Binding Se è necessario (ad esempio per i test di integrazione).

Ce ne sono probabilmente altri, ma per me questi 2 sono già showtoppers.

La domanda è piuttosto vecchia ma ... FYI: puoi automaticamente Controllalo su ApiWave.

Imparando con cambiamenti passati lo vediamo com.google.inject.Inject può essere sostituito da javax.inject.Inject.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top