Weld, die JSR-299 Contexts und Dependency Injection Referenzimplementierung, versteht sich als eine Art Nachfolger von Spring und Guice.Google Guice vs JSR-299 CDI/Weld
CDI wurde von einer Reihe von Java-Frameworks beeinflusst, einschließlich Seam, Guice und Spring. CDI hat jedoch seinen eigenen, sehr unterschiedlichen Charakter: mehr typsicher als Seam, mehr Stateful und weniger XML-zentriert als Spring, mehr Web- und Enterprise-Anwendungen als Guice. Aber es konnte nicht ohne die Inspiration aus den genannten Rahmen und viel Zusammenarbeit und harte Arbeit der JSR-299 Expert Group (EG) sein.
http://docs.jboss.org/weld/reference/latest/en-US/html/1.html
Was macht Weld mehr für Enterprise-Anwendung in der Lage im Vergleich zu Guice? Gibt es irgendwelche Vorteile oder Nachteile im Vergleich zu Guice? Was denkst du über Guice AOP im Vergleich zu Weld Interceptors? Was ist mit Leistung?
Meine Auswahl
Am Ende entschied ich mich Guice zu verwenden, weil ich das sauberen Programmiermodell wie das ohne Anmerkungen neben @Inject standardmäßig fast kommt. Es ist viel einfacher, externe Bibliotheken mit Guice zu verwenden als mit CDI. AOP ist auch ziemlich einfach mit Guice.
FYI, [CDI 2] (http://cdi-spec.org) ist seit 2017-04 aus. Siehe: [JSR 365: Kontexte und Dependency Injection für JavaTM 2.0] (https://jcp.org/en/jsr/detail?id=365). [Weld 3] (http://weld.cdi-spec.org) ist die Referenzimplementierung. –