2013-05-07 5 views
3

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

ответ

7

Шов 3 сильно зависит от CDI (JSR-299). Weld - это reference implementation CDI. Seam, с другой стороны, представляет собой полную структуру для разработки веб-приложений с большим количеством функциональных возможностей (см. Список модулей в ссылке).

Как правило, реализация CDI обеспечивается сервером приложений Java EE (например, JBoss/Wildfly, поставляется с Weld). Однако любая полная реализация CDI должна быть подходящей для использования с Seam. Смотрите изображения:

enter image description here

Таким образом, ответ на ваш вопрос не, но Weld (или любая реализация КДИ) широко используются пластами. Вероятно, поэтому вы часто видите сообщения, ссылающиеся на «CDI (Weld)/Seam».

Обратите внимание, что реализация Seam 3 прекратилась, возможно, из-за того, что Java EE улучшилось за эти годы.

Это информация о Weld со страницы Шов проекта:

Weld является эталонная реализация (RI) для JSR-299: Java контексты и Dependency Injection для платформы Java EE (CDI). CDI является стандартом Java для инъекции зависимостей и контекстных управлений жизненного цикла

Также на странице есть эта информация:

  • CDI является спецификацией JCP включен в Java EE
  • Weld является эталонная реализация CDI
  • Seam 3 представляет собой набор модулей, которые расширяют CDI для обеспечения функциональности, недоступной для Java EE 6

И, наконец, это должно дать понять вам:

Однако Шов 3 является надстройкой JSR-299. Подумайте о JSR-299 как о ядре Seam 3 - это базовая модель программирования для ваших компонентов приложения и для встроенных компонентов, составляющих структуру Seam. Weld - это наша реализация этой модели программирования.

Смежные вопросы