Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> отличие class от ManagedBean 
:(
    Опции темы
4epT
Дата 1.10.2010, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 784
Регистрация: 13.8.2007

Репутация: 3
Всего: 3



Добрый день! В чем отличие class от managedBean ?
вот допустим я пишу bean который будет складывать 2 числа
Код

@SessionScoped
@ManagedBean (name = "calculate")
class Calculate
{
 ......
}


в чем отличие будет если не указать эти аннотации?

использую JSF 2.0


P.S. И если можно объясните разницу (что можно делать и что нельзя делать) между SessionScoped, ApplicationScoped, CustomScoped, RequestScoped, NoneScoped, ViewCsoped =)

Это сообщение отредактировал(а) 4epT - 1.10.2010, 11:47
PM MAIL   Вверх
jk1
Дата 1.10.2010, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1168
Регистрация: 17.10.2008
Где: Санкт-Петербург

Репутация: 5
Всего: 75



Цитата

In an JSF application, backing beans (managed beans) are used that can be  associated with UI components. Backing Beans are nothing but JavaBeans which defines properties and methods. These properties are bound to component values or component instances. setX() and getX() methods are defined and implemented for all properties. We can also define methods that can be used for different purpose like event handling, navigation, validation etc. that are associated with component. To bind value of the component to the property of the bean or to refer method of the bean from component tag, Expression Language (EL) syntax is used. For example, #{BeanName.propertyName}can be used to bind the value of the component to the property "propertyName" of the bean "BeanName". #{BeanName.methodName} can be used to refer method "methodName()" of the bean "BeanName".



--------------------
Opinions are like assholes — everybody has one
PM MAIL   Вверх
SlavaSemushin
Дата 2.10.2010, 20:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 13.4.2010
Где: Новосибирск

Репутация: 1
Всего: 1



Цитата

В чем отличие class от managedBean ?


Ниже моё понимание вещей, без претензий на истину.

Исходя из названия managed bean это бин (который в свою очередь простой класс), который кем-то управляется. В данном случае управляется он JSF. Т.е. согласно конфигу, или аннотациями, JSF создаёт и удаляет его для вас -- т.е. следит за его временем жизни. Это, в моём понимании, и есть managed. Тут, к месту, также упомнять IoC container и вообще IoC (DI) (см. в википедии или гугле).

Цитата

в чем отличие будет если не указать эти аннотации?


У вас две аннотации сейчас: @ManagedBean и @SessionScoped. Если не указывать обе, то получится простой класс (т.н. POJO). Если указать, только @ManagedBean, то JSF создаст для вас этот бин с временем жизни по умолчанию (насколько помню, это request) А вот если указать только @SessionScoped, хм, не знаю точно, что будет, наверное, ошибка -- проверьте, если хотите.

Цитата

P.S. И если можно объясните разницу (что можно делать и что нельзя делать) между SessionScoped, ApplicationScoped, CustomScoped, RequestScoped, NoneScoped, ViewCsoped =)


ApplicationScoped -- бин "живёт" на протяжении жизни всего вашего приложения (т.е. как только вы запустили контекст, этот бин создаётся, а при уничтожении контекста, бин тоже уничтожается.) 
CustomScoped -- не помню точно, но там программисту дали какую-то свободу по управлению времени жизни бином (лучше всего в гугле поискать)
RequestScoped -- время жизни бина -- один запрос
NoneScoped -- не помню точно, но где-то на SO (http://stackoverflow.com/questions/3086896/what-is-none-scope-bean-and-when-to-use-it) был вопрос зачем он нужен, и, кажется, никто ничего не смог придумать smile
ViewScoped -- опять же, точно не подскажу, но кажется существует только внутри отображения (view)

А есть ещё flash scope, кстати, это на уровне двух страниц при использовании то ли редиректа,то ли форвардинга, точно не помню. Опять же в гугле лучше поискать smile

Надеюсь, что мой ответ был полезен.
PM MAIL   Вверх
4epT
Дата 2.10.2010, 22:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 784
Регистрация: 13.8.2007

Репутация: 3
Всего: 3



Цитата(SlavaSemushin @ 2.10.2010,  20:29)
Цитата

В чем отличие class от managedBean ?


Ниже моё понимание вещей, без претензий на истину.

Исходя из названия managed bean это бин (который в свою очередь простой класс), который кем-то управляется. В данном случае управляется он JSF. Т.е. согласно конфигу, или аннотациями, JSF создаёт и удаляет его для вас -- т.е. следит за его временем жизни. Это, в моём понимании, и есть managed. Тут, к месту, также упомнять IoC container и вообще IoC (DI) (см. в википедии или гугле).

Цитата

в чем отличие будет если не указать эти аннотации?


У вас две аннотации сейчас: @ManagedBean и @SessionScoped. Если не указывать обе, то получится простой класс (т.н. POJO). Если указать, только @ManagedBean, то JSF создаст для вас этот бин с временем жизни по умолчанию (насколько помню, это request) А вот если указать только @SessionScoped, хм, не знаю точно, что будет, наверное, ошибка -- проверьте, если хотите.

Цитата

P.S. И если можно объясните разницу (что можно делать и что нельзя делать) между SessionScoped, ApplicationScoped, CustomScoped, RequestScoped, NoneScoped, ViewCsoped =)


ApplicationScoped -- бин "живёт" на протяжении жизни всего вашего приложения (т.е. как только вы запустили контекст, этот бин создаётся, а при уничтожении контекста, бин тоже уничтожается.) 
CustomScoped -- не помню точно, но там программисту дали какую-то свободу по управлению времени жизни бином (лучше всего в гугле поискать)
RequestScoped -- время жизни бина -- один запрос
NoneScoped -- не помню точно, но где-то на SO (http://stackoverflow.com/questions/3086896/what-is-none-scope-bean-and-when-to-use-it) был вопрос зачем он нужен, и, кажется, никто ничего не смог придумать smile
ViewScoped -- опять же, точно не подскажу, но кажется существует только внутри отображения (view)

А есть ещё flash scope, кстати, это на уровне двух страниц при использовании то ли редиректа,то ли форвардинга, точно не помню. Опять же в гугле лучше поискать smile

Надеюсь, что мой ответ был полезен.

Спасибо большое) очень понятно объяснил!)
PM MAIL   Вверх
SlavaSemushin
Дата 3.10.2010, 17:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 13.4.2010
Где: Новосибирск

Репутация: 1
Всего: 1



P.S. Я когда JSF изучал, то насобирал для себя разных ссылок -- http://freesource.info/wiki/devel/Java/JSF/links Возможно, вам пригодится (по JSF2 очень интересная серия статей JSF2 Fu на IBM-е).
PM MAIL   Вверх
4epT
Дата 3.10.2010, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 784
Регистрация: 13.8.2007

Репутация: 3
Всего: 3



Цитата(SlavaSemushin @ 3.10.2010,  17:45)
P.S. Я когда JSF изучал, то насобирал для себя разных ссылок -- http://freesource.info/wiki/devel/Java/JSF/links Возможно, вам пригодится (по JSF2 очень интересная серия статей JSF2 Fu на IBM-е).

Спасибо, почитаю))
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0494 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.