Weld, JSR-299 Контексты и внедрение зависимостей инъекций, рассматривает себя как своего рода преемник Spring и Guice.Google Guice vs. JSR-299 CDI/Weld
На CDI повлияло множество существующих Java-фреймворков, включая Seam, Guice и Spring. Тем не менее, у CDI свой собственный, очень отличный характер: более типичный, чем Seam, более сдержанный и менее ориентированный на XML, чем Spring, больше веб-приложений и корпоративных приложений, чем Guice. Но это не могло быть ни одним из них без вдохновения из упомянутых рамок и большого сотрудничества и напряженной работы Экспертной группы JSR-299 (EG).
http://docs.jboss.org/weld/reference/latest/en-US/html/1.html
Что делает Weld более способным для корпоративных приложений по сравнению с Guice? Существуют ли какие-либо преимущества или недостатки по сравнению с Guice? Что вы думаете о Guice AOP по сравнению с перехватчиками Weld? Как насчет производительности?
Мой выбор
В конце концов, я решил использовать Guice, потому что мне нравится модель чистого программирования, который поставляется почти без аннотации, кроме @Inject по умолчанию. Гораздо проще использовать внешние библиотеки с Guice, чем с CDI. AOP также довольно проста с Guice.
FYI, [CDI 2] (http://cdi-spec.org) отсутствует, начиная с 2017-04. См. [JSR 365: Контексты и инъекции зависимостей для JavaTM 2.0] (https://jcp.org/en/jsr/detail?id=365). [Weld 3] (http://weld.cdi-spec.org) - эталонная реализация. –