Google Guice, ou Guice (prononcé comme l'anglais juice), est un framework léger[2] d'injection de dépendance distribué par Google sous la licence open source Apache.
Google Guice est compatible à partir de la version 5 de Java, dont il utilise les annotations.
Guice utilise un type de classe particulier appelé module pour définir les relations entre des interfaces et les classes les implémentant. Pour se servir de ce module, il faut instancier un injecteur, qui doit être un singleton, en lui passant en paramètre la classe correspondante au module. En demandant ensuite dans le code à l'injecteur de fournir une instance de classe implémentant une interface indiquée dans le module, celui-ci fournira une instance de la classe indiquée dans le module comme implémentant cette interface.
Cette manière de faire permet de ne traiter l'injection de dépendance qu'en Java, sans avoir de fichiers XML à gérer, ce qui évite le "XML hell" et améliore les performances en supprimant la nécessité du parsing XML[3].
Guice a été créé par Google pour les besoins internes de l'entreprise, puis rendu public. Google a indiqué se servir de Guice pour "des applications critiques" depuis 2006[4].
En 2008, Google Guice a remporté le 18e Prix Jolt (en) en tant que meilleur framework, bibliothèque ou composant[5].