Weld, l'implémentation de référence de JSR-299 Contexts and Dependency Injection, se considère comme une sorte de successeur de Spring et Guice.
CDI a été influencé par un certain nombre de frameworks Java existants, notamment Seam, Guice et Spring. Cependant, CDI a son propre caractère, très distinct : plus sûr que Seam, plus étatique et moins centré sur XML que Spring, plus capable de fonctionner sur le web et dans les applications d'entreprise que Guice. Mais il n'aurait pu être aucun de ces éléments sans l'inspiration des cadres mentionnés et sans la collaboration et le travail acharné du groupe d'experts (EG) JSR-299.
http://docs.jboss.org/weld/reference/latest/en-US/html/1.html
Qu'est-ce qui rend Weld plus apte aux applications d'entreprise par rapport à Guice ? Y a-t-il des avantages ou des inconvénients par rapport à Guice ? Que pensez-vous de Guice AOP par rapport aux intercepteurs Weld ? Qu'en est-il des performances ?
Mon choix
En fin de compte, j'ai décidé d'utiliser Guice parce que j'aime le modèle de programmation propre qui est livré presque sans annotations à part @Inject par défaut. Il est beaucoup plus facile d'utiliser des librairies externes avec Guice qu'avec CDI. La POA est également assez simple avec Guice.
0 votes
FYI, CDI 2 est sorti, en date du 2017-04. Voir : JSR 365 : Contextes et injection de dépendances pour JavaTM 2.0 . Soudure 3 est l'implémentation de référence.