Разница между управляемым Бобом и бэк-Бобом



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

773   11  

11 ответов:

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

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

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

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

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

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

что такое управляемый Bean-компонент?

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

что такое бэк-бобов?

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

каковы различия между бэк-Бобом и управляемым Бобом?

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

MB : Управляемого Компонента ; BB : Базовый Компонент

1) BB: A бэк-бин-это любой Бин, на который ссылается форма.

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

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

2) BB: Бэк-бобы должны быть определены только в запрос области

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

бэк-бобы должны быть определены в области запроса, существовать в отношениях один-к-одному с определенной страницей и содержать весь код обработки событий конкретной страницы. В реальном сценарии для нескольких страниц может потребоваться одна и та же поддержка Боб за кулисами. Бэк-компонент содержит не только данные представления, но и поведение, связанное с этими данными.

базовый компонент-это любой компонент, связанный с пользовательского интерфейса JSF. в то время как управляемый боб-это любой Боб

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

вы как разработчик делаю:

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

в JSF в качестве основы управления в зернах делает под одеялом:

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

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

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

чтобы узнать больше о том, как фреймворки управления бобами, такие как JSF, CDI и Spring, находят и создают свои управляемые бобы, следующий инструмент устранения неполадок должен обеспечить глубокое понимание: определение и решение javax.Эль.PropertyNotFoundException: Цель Недостижима.

посмотреть также:

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

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

http://docs.oracle.com/javaee/6/tutorial/doc/bnaqm.html не упоминает "бэк-бин".

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

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

Бэк Фасоли управляемые бобы, которые просматриваются назад как модели данных.

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

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

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

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

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

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

Управляемый Bean-Компонент :

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

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

Базовый Компонент :

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

NB:

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

Управляемый Bean-Компонент:

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

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

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

Базовый Компонент:

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

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

пример:

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

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

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

надеюсь, что это полезно для кого-то.

Comments

    Ничего не найдено.