Framework Google Guice - Tensho97/Aprende-a-Aprender GitHub Wiki
Google Guice es un framework de inyección de dependencias, que a diferencia de Spring, se usa en la versión 5.0 o superior de Java. Debido a esto, aprovecha los beneficios de los Generics y las Anotaciones, permitiendo que el código sea tipado.
VENTAJAS DE USAR GOOGLE GUICE FRENTE SPRING
Ambos son dos framework muy potentes actualmente. Los dos abarcan los conceptos de la inyección de dependencias, pero cada uno tiene su forma de implementarlos.
- Inyección a través de Setter vs Inyección a través de constructor
Spring recomienda evitar usar el "final" en las dependencias y usar la inyección en los setters. Esto elimina la inmutabilidad de las clases a medida que las dependencias van cambiando y se cambian en tiempo de ejecución. Guide en cambio, recomienda la inyección mediante el constructor sobre la inyección mediante los setters, aunque ambas son soportadas. En Guide está recomendado usar "final", lo que hace a las clases más estables.
- XML Binding vs Type Checked Bindings
Spring usa el XML para definir los bindings entre implementaciones. Esto conlleva problemas cuando un objeto que no está correctamente tipado se le pasa a una interface, lo que sólo se ve en tiempo de ejecución.
Guice usa clases de Java, a las que llama Módulos, para definir los bindings. Guice comprueba los tipos en tiempo de compilación y detecta los bindings inválidos.
- Evitando Inyecciones nulas
Cuando la anotación @Nonnull
no se usa, Spring permite la inyeccion de un nulo como una dependencia. También permite unir una interface a un null. Guice no permite inyecciones nulas. Cuando un binding es nulo, fallará, así que lo podremos capturar con una excepción antes de que se rompa el programa.
- Peso pesado vs Peso ligero
Spring es un framework pesado, que fue creado en los primeros días de J2EE. Además, se le han ido implementando nuevas características como las Annotations, los Generics o Java Config.
Guide fue creado a partir de Java 5, con lo cual ya tenía esas herramientas y se hizo más ligero.
Autora: Vanesa