Seam3 и Weld CDI - это одно и то же?

Может быть, это кажется глупым вопросом, но я действительно сбит с толку. Seam 3 и Weld CDI - это одно и то же? Я читаю несколько сообщений, которые относятся к "CDI (Weld) / Seam 3", следует ли мне рассматривать их как одно и то же?


person Yashar    schedule 07.05.2013    source источник


Ответы (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 - наша реализация этой модели программирования.

person Magnilex    schedule 20.05.2013