Может быть, это кажется глупым вопросом, но я действительно сбит с толку. Seam 3 и Weld CDI - это одно и то же? Я читаю несколько сообщений, которые относятся к "CDI (Weld) / Seam 3", следует ли мне рассматривать их как одно и то же?
Seam3 и Weld CDI - это одно и то же?
Ответы (1)
Шов 3 сильно зависит от CDI (JSR-299). Weld - это эталонная реализация CDI. Seam, с другой стороны, представляет собой полную структуру для разработки веб-приложений с большим количеством функций (см. список модулей в ссылка).
Обычно реализация CDI обеспечивается сервером приложений Java EE (например, JBoss / Wildfly поставляется с Weld). Однако любая полная реализация CDI должна подходить для использования с Seam. Смотрите это изображение:
Итак, ответ на ваш вопрос - нет, но Weld (или любая реализация CDI) широко используется Seam. Вероятно, поэтому вы часто видите сообщения, относящиеся к «CDI (Weld) / Seam».
Обратите внимание, что реализация Seam 3 остановлена, возможно, из-за того, что Java EE улучшилась за эти годы.
Это информация о Weld со страницы проекта Seam:
Weld - это эталонная реализация (RI) для JSR-299: Java Contexts and Dependency Injection для платформы Java EE (CDI). CDI - это стандарт Java для внедрения зависимостей и контекстного управления жизненным циклом.
Также на странице есть такая информация:
- CDI - это спецификация JCP, включенная в Java EE.
- Weld - эталонная реализация CDI.
- Seam 3 - это набор модулей, расширяющих CDI, чтобы обеспечить функциональность, выходящую за рамки возможностей Java EE 6.
И, наконец, это должно дать вам понять:
Однако Seam 3 является расширенным набором JSR-299. Думайте о JSR-299 как о ядре Seam 3 - это базовая модель программирования для компонентов вашего приложения и для встроенных компонентов, составляющих структуру Seam. Weld - наша реализация этой модели программирования.