java gwt dependency-injection guice gin

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):

  • @Optional como lo menciona @Bozho
  • @ImplementedBy que 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 @ImplementedBy si 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.