Разница между управляемыми bean и поддержкой bean

Я встретил термины "управляемые bean" и "поддержка bean" на нескольких форумах. Многие думают, что оба они одинаковы. Но, кажется, есть небольшая разница. Может ли кто-нибудь помочь мне понять точную разницу между этими двумя терминами?

Ответ 1

Изменив мой первоначальный ответ, между ними нет значимой разницы. tutorial говорит, что поддержка beans позже объявляется управляемой beans. Итак, подведем итог:

  • поддержка bean - это класс из контекста
  • управляемый bean является резервной bean, когда он объявляется для использования с управляемым JSF средством bean.

Я никогда не использовал термин "поддержка bean", потому что я не использовал его. Поэтому вам может быть лучше использовать только "управляемый bean". Обратите внимание, что в JSF 2.0 (и в CDI) у вас есть @ManagedBean - поэтому ваш bean является управляемым bean.

BalusC предположил, что "поддержка bean" является определением, а "управляемый bean" является экземпляром. Хотя это, возможно, и было оригинальной идеей создателей JSF, я не думаю, что это стоит поддержать. CDI и spring, например, не имеют другого термина для "bean definition" и "bean instance".

Спецификация JSF 2.0 упоминает термин "поддержка bean" только несколько раз, без какого бы то ни было определения. В дополнение к этому он упоминает "поддержка bean class", что может означать, что "поддержка bean" != "Поддержка bean class", что еще больше путается.

Итак, чтобы заключить - для меня оба взаимозаменяемы, и я придерживаюсь только использования "управляемого bean"

Ответ 2

Что управляется Bean?

Объекты JavaBean, управляемые реализацией JSF, называются управляемыми beans. Управляемый bean описывает, как создается и управляется bean. Это не имеет никакого отношения к функциям bean.

Что такое поддержка Bean?

Резервное копирование beans - это компоненты JavaBeans, связанные с компонентами пользовательского интерфейса, используемыми на странице. Управление резервным копированием bean отделяет определение объектов компонентов пользовательского интерфейса от объектов, которые выполняют данные обработки и хранения данных, специфичные для приложения.  Подсистема bean определяет свойства и обработку-логики, связанные с компонентами пользовательского интерфейса, используемыми на странице.   Каждое свойство backing

Каковы различия между резервным bean и управляемым Bean?

Резервное копирование beans - это просто соглашение, подтип JSF Managed beans, который имеет очень конкретную цель. В резервном bean нет ничего особенного, что отличает его от любого другого управляемого bean, кроме его использования.

MB: управляемый bean; BB: поддержка Bean

1) BB: поддержка bean - это любой bean, на который ссылается форма.

MB. Управляемый bean представляет собой резервную копию bean, которая была зарегистрирована в JSF (в faces-config.xml), и она автоматически создавалась (и, при необходимости, инициализирована) JSF, когда она необходимо.

Преимущество управляемого beans заключается в том, что структура JSF автоматически создаст эти beans, при необходимости инициализируя их параметрами, указанными в faces-config.xml.

2) BB: поддержка beans должна определяться только в области запроса

MB: управляемые beans, созданные JSF, могут быть сохранены в пределах области запроса, сеанса или приложения.

Резервное копирование beans должно быть определено в области запроса, существует в отношениях "один к одному" с конкретной страницей и содержать весь код обработки событий, специфичный для страницы. В сценарии реального мира нескольким страницам может потребоваться совместная поддержка bean за кулисами. Поддержка bean содержит не только данные просмотра, но и поведение, связанное с этими данными.

Ответ 3

Резервное копирование Bean - это любой Bean, связанный с JSF UI. а Managed Bean - это любой bean

Ответ 4

Проще говоря,

Вы как разработчик:

@ManagedBean(name="managedBean")
@RequestScoped
public class BackingBean {
    // ...
}

JSF как bean структура управления работает под обложками:

BackingBean managedBean = new BackingBean();
externalContext.getRequestMap().put("managedBean", managedBean);

Таким образом, поддержка bean - это конкретный класс, который разработан вами и обычно привязан к представлению, а управляемый bean - это конкретный экземпляр, который находится под обложками, созданными и помещенными в требуемый объем bean структура управления по запросу и доступная #{managedBean} в EL. Вам никогда не нужно создавать и помещать его в сферу действия самостоятельно. Если вы это сделали, то нет средств для bean, управляемых инфраструктурой.

CDI @Named и Spring @Component делают по существу то же самое, что и JSF @ManagedBean.

Чтобы узнать больше о том, как bean структуры управления, такие как JSF, CDI и Spring найти и создать свой управляемый beans, следующий инструмент устранения неполадок должен обеспечить глубокое понимание: Идентификация и решение javax.el.PropertyNotFoundException: Target Unreachable.

См. также:

Ответ 5

http://docs.oracle.com/javaee/5/tutorial/doc/bnaqm.html говорит

Типичное приложение JavaServer Faces включает в себя один или несколько поддерживающих beans, каждый из которых является управляемым JavaServer Faces bean, который связан с компонентами пользовательского интерфейса, используемыми на определенной странице. Управляемые beans являются компонентами JavaBeans (см. Компоненты JavaBeans), которые можно настроить с помощью управляемого объекта bean, которая описана в разделе Настройка Beans. В этом разделе представлены основные понятия по созданию, настройке и использованию поддержки beans в приложении.

http://docs.oracle.com/javaee/6/tutorial/doc/bnaqm.html не упоминает о поддержке bean".

Ответ 6

Я бы сказал, что поддержка bean - это bean, используемая строго для целей пользовательского интерфейса, то есть ссылка в файлах jsp. В конце концов, все beans, управляемые контейнером JSF, управляются beans, однако существуют различные контексты, в которых они могут использоваться. Подробнее см. Принятый ответ здесь: JSF: ManagedBean, хорошее место для решения бизнес-логики?

Ответ 7

Управляемые Beans управляются (создаются и уничтожаются) контейнером.

Резервное копирование Beans управляется beans, что обратные представления как модели данных.

Ответ 8

Резервное копирование Bean является видом управляемого Bean. Управляемый Bean - это объект (т.е. экземпляр класса), созданный контейнером (поэтому он называется управляемым), и, конечно, у Object есть класс, и если вам кажется, вы можете создать столько экземпляров этого класс, независимо от того, какую аннотацию они имеют с m = new MyManagedBean(), это будет Not-So-Managed- Bean или, по крайней мере, не управляется контейнером, а управляется вами:)

И поддержка Bean - это своего рода управляемый Bean (как это сказал Сантош: соглашение), которое обычно использует JSF requestScope (но в некоторых инфраструктурах, таких как ADF, существует даже назначенная область только для поддержки beans называемый backingBeanScope - вы бы никогда не догадались).

И да... Аромат jsf, управляемый beans, который можно было бы вызвать BackingBeans, используется для связывания UIComponents и записи ActionListeners, в то время как позволяет сказать, что "модель beans" будет идти в области сеанса, например, и удерживать ваши данные

Ответ 9

Я взял очень хороший (дорогой) курс по JSF. То, что я узнал, есть только то, что объясняется в http://www.avromroyfaderman.com/2008/07/from-backing-bean-to-managed-bean/.

Возможно, это различие не является теоретическим различием или этимологией терминов, но это, безусловно, очень практичный способ настройки вашей архитектуры, особенно если вы являетесь частью большого проекта с несколькими разработчиками и/или должны поддерживать много кода в течение длительного времени. В основном идея заключается в том, что вы помещаете свою бизнес-логику пользовательского интерфейса в Managed Beans. Резервное копирование beans разрежено и просто поддерживает страницу.

Ответ 10

С этой ссылкой JSF - управляемый Beans

Управляемый Bean:

Управляемый Bean - это обычный класс Java Bean, зарегистрированный в JSF. Другими словами, Managed Beans является java Bean, управляемым инфраструктурой JSF.

С этой ссылкой Создание и использование резервной копии Bean для веб-страницы:

Поддержка Bean:

В JSF поддержка Beans - это JavaBeans, используемые главным образом для обеспечения логики пользовательского интерфейса и управления данными между веб-уровнем и бизнес-уровнем приложения (аналогично объекту передачи данных). Как правило, у вас есть одна поддержка Bean на странице JSF. Подсистема Bean содержит логику и свойства для компонентов пользовательского интерфейса, используемых на странице.

Примечание:

Для обеспечения доступности Bean, когда приложение запускается, вы зарегистрируйте его как управляемый Bean с именем и областью

Ответ 11

Управляемый Bean:

Управляемый bean представляет собой резервную копию bean, которая была зарегистрирована в JSF (в faces-config.xml) или с помощью аннотаций. Управляемый bean автоматически создается (и, при необходимости, инициализируется) JSF, когда это необходимо.

Если вы используете Managed bean в своем приложении, вы должны использовать следующий синтаксис на странице JSF для установки или получения значений формы bean

<h:inputText value="#{user.name}"/>

Поддержка Bean:

A bean, который содержит некоторые или все объекты компонента веб-формы. Такой bean называется основой bean для веб-формы.

Когда вы используете резервную копию bean, вам необходимо подключить компоненты на форме к тем из bean. Для этого используется атрибут привязки

Пример:

<h:inputText binding="#{myForm.myComponent}" .../>

Наблюдайте за тем, как мы получаем или устанавливаем значения для Backing bean.

Резервное копирование Beans должно быть определено в области запроса, существует в отношениях "один к одному" с определенной страницей и содержать весь код обработки событий на странице

Надеюсь, что это полезно кому-то.