Google propose un nouveau framework d'injection, baptisé Guice (à prononcer juice), et fondé sur des annotations. Un débat très intéressant, initié suite à un blog de Craig Walls, a lieu entre la communauté Spring (le framework d'injection standard de fait) et les créateurs de Guice.

L'argumentaire de Craig Walls en faveur de Spring est, à mon avis, particulièrement convaincant, et l'essentiel des remarques est tout à fait justifié :

  • Spring est bien moins intrusif. Guice oblige a annoter les classes, Spring non.
  • L’injection de valeurs simples en Spring est beaucoup plus simple qu’avec Guice.
  • Spring peut injecter dans des classes quelconques, pas seulement dans des classes annotées comme Guice. Il est vrai que Guice offre la notion d’adaptateur, mais cela nécessite d’écrire du code.