Разница между JSF-бобами и EJB-бобами - PullRequest
14 голосов
/ 28 ноября 2010

Мне нужно немного разъяснений. Я знаю, как работать с JSF и соответствующими сессионными компонентами, но я запутался в EJB. В чем разница между bean-компонентами, представленными в EJB, и сессионными bean-компонентами, используемыми с JSF (для ejb я знаю о сессионных / полных bean-компонентах и ​​компонентных сущностях, диспетчере сущностей и т. Д.) То, что я просто не понимаю, это когда использовать EJB и когда использовать JSF-бины. Помимо компонентов управления данными, оба компонента EJB с сохранением состояния и меньшим количеством сессионных компонентов кажутся похожими на компоненты JSF. Я читал о внедрении ejb в jsf, но почему бы просто не использовать ejb вместе с bean-компонентами jsf? Я надеюсь, вы понимаете мое замешательство. Спасибо.

Ответы [ 3 ]

10 голосов
/ 02 июля 2013

Alexis

Сначала необходимо узнать разницу между bean-компонентом JSF и EJB-компонентами.

Bean-компонент JSF: JSF-компоненты - это классы pojo, которые используются для чтения компонентазначение JSF.В jsf есть два типа bean-компонентов:

Управляемый bean-компонент - это способ создания и инициализации Java-компонента.Как вы знаете, jsf использует ленивую модель инициализации.Это означает, что bean-компонент в конкретной области видимости создается и инициализируется не в тот момент, когда область запускается, а по требованию, т. Е. Когда компонент bean требуется впервые.

Backing bean о роли, которую играет конкретный управляемый боб.Это роль серверного представления компонентов, расположенных на странице.Обычно резервные компоненты имеют область запроса, но это не ограничение.

EJB-компонент - это компонент на стороне сервера, который инкапсулирует бизнес-логику приложения.Бизнес-логика - это код, который выполняет назначение приложения.

в основном существует три типа сессионных компонентов: *

1.Statefull session bean

2.Stateless sessionbean

3. Один сессионный компонент (ejb 3.1)

9 голосов
/ 29 января 2011

Действительно, существует некоторая путаница между различными типами управляемых bean-компонентов в Java EE. Чтобы добавить к путанице, Java EE 6 представила третий тип управляемого компонента: компонент CDI.

В этом ответе я попытаюсь немного объяснить различия и сходства: Как сравниваются CDI и EJB? взаимодействовать

Вкратце: управляемые bean-компоненты JSF в основном не обеспечивают поддержку транзакций, что часто требуется при работе с бизнес-логикой и особенно с JPA.

Также обратите внимание, что термин session, как в управляемых bean-компонентах сеанса, является совершенно другим видом сеанса, чем тот, к которому относится термин в bean-компонентах сеанса без состояния и с полным состоянием.

0 голосов
/ 08 августа 2017

На сайте есть еще один интересный ответ, где объясняются различия CDI и EJB.Это очень помогает, когда вы наконец понимаете всю картину. Где использовать EJB 3.1 и CDI?

...