Reemplazando com.google.inject con javax.inject
gwt dependency-injection (4)
En realidad, he decidido abstenerme de cambiar a javax.inject porque considero que la especificación es mucho más minimalista en comparación con lo que proporciona Guice (que yo uso):
-
@Optionalcomo lo menciona @Bozho -
@ImplementedByque es muy útil cuando se quiere reducir el número de enlaces explícitos (para la claridad del código) y cuando se quiere poder sobrescribir fácilmente el enlace predeterminado@ImplementedBysi se necesita (p. Ej., Para pruebas de integración).
Probablemente haya otros, pero para mí estos 2 ya son sorprendentes.
¿Es cierto que las anotaciones javax.inject pueden funcionar como reemplazos directos para com.google.inject?
Entonces, si reemplazara todas mis anotaciones actuales de guice / gin con las de javax.inject, mi aplicación se compilaría y funcionaría bien.
Primero, ¿cubre javax.inject todas las bases que cubre google.inject?
La pregunta es bastante antigua, pero ... FYI: puedes verificarla automáticamente en apiwave .
Al aprender con cambios pasados, vemos que com.google.inject.Inject puede reemplazarse por javax.inject.Inject .
Si, funcionará bien. De hecho, el autor de guice (Bob Lee) es un espec-lead para la especificación javax.inject .
javax.inject.Inject no tiene el atributo optional , por lo que si quieres una dependencia opcional, deberías usar la anotación guice.