Frage

Stimmt es, dass Javax.inject -Anmerkungen als direkten Ersatz für com.google.inject fungieren können?

Wenn ich also alle meine aktuellen Guice/Gin -Anmerkungen durch die von javax.inject ersetzt habe, würde meine App gut kompilieren und gut laufen?

Decken Sie zunächst Javax.inject alle Basen, die Google.inject abdecken?

War es hilfreich?

Lösung

Ja, es wird gut funktionieren. Tatsächlich ist der Autor von Guice (Bob Lee) ein Spezifikum für die javax.inject Spezifikation.

javax.inject.Inject hat das nicht optional Attribut. Wenn Sie also eine optionale Abhängigkeit wünschen, müssten Sie die Guice -Annotation verwenden.

Andere Tipps

Eigentlich habe ich mich entschieden, auf javax.inject zu wechseln, da ich die Spezifikation im Vergleich zu dem, was Guice bietet (das ich verwende), viel minimalistisch finde:

  • @Optional Wie von @bozho erwähnt
  • @ImplementedBy Dies ist sehr nützlich, wenn Sie die Anzahl der explizite Bindungen (für Code -Klarheit) reduzieren möchten und wenn Sie in der Lage sein möchten, den Standard einfach überschreiben zu können @ImplementedBy Bindung, wenn Sie benötigen (z. B. für Integrationstests).

Es gibt wahrscheinlich andere, aber für mich sind diese 2 schon Showstopper.

Die Frage ist ziemlich alt, aber ... zu Ihrer Information: Sie können automatisch Überprüfen Sie das auf Apiwave.

Durch das Lernen mit früheren Veränderungen sehen wir das com.google.inject.Inject kann durch ersetzt werden durch javax.inject.Inject.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top