O que é e como usar MANAGED BEANS  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
theodrums
Debugger

Membro desde: 19/01/2010 23:28:58
Mensagens: 73
Offline

Oi pessoal,

Já estou estudando desenvolvimento web há alguns meses e pesquisei muito para encontrar uma definição clara sobre managed beans, porém não encontrei.
Por enquanto o que eu entendi é o seguinte:

Bean
- uma classe com construtor sem parâmetros
- conter métodos assessores (getters e setters) para os atributos
- deve conter regras de negócio ???

Managed Beans
- são os beans gerenciados pelo JSF, ou seja, são os beans que o JSF enxerga.
- tb deve ter o construtor vazio ???
- deve conter regras de negócio ???


Aprecio a ajuda de todos para poder esclarecer de uma vez por todas o conceito de Managed Beans.
nel
JWizard
[Avatar]

Membro desde: 01/10/2009 13:51:10
Mensagens: 2364
Offline

Boa noite.

Isto vai lhe ajudar, creio eu:

- http://www.guj.com.br/posts/list/136276.java

- http://www.oracle.com/technology/tech/java/newsletter/articles/jsf_pojo/index.html

- http://java.sun.com/javaee/javaserverfaces/ (Procure por documentation)

Mas no meu ponto de vista, o ideal seria criar um Back Bean e um Managed Bean, onde no bean você teria todos os atributos que se fizerem necessários, como algo para "gravar" um nome, idade, cpf e assim por diante, de acordo com sua view. Desta forma, o Managed Bean ficaria responsavél pelo acesso ao Back Bean apenas para buscar as informações mas todos os métodos necessário ficaram nele, assim, o código fica mais legível e fácil de entender.

Abraços e boa leitura.

"Se houver a terceira guerra mundial eu não sei como será mas a quarta será com paus e pedras" Albert Einsten.
theodrums
Debugger

Membro desde: 19/01/2010 23:28:58
Mensagens: 73
Offline

Mas a lógica ficaria no Managed Bean?

Leonardo3001
GUJ Ranger

Membro desde: 04/07/2007 18:28:58
Mensagens: 975
Offline

Vamos lá: Bean é totalmente diferente de Managed Bean. Só são iguais no nome.

Bean é uma definição antiga, do tempo em que se achava que os desenvolvedores Java iriam programar visualmente. Beans eram classes que tinham construtores vazios, além de métodos getters e setters. Não haveria outros métodos porque uma ferramenta visual não iria detectá-los. A ideia nunca deu certo, o conceito foi ampliado por frameworks independentes (como o Spring), mas caiu em desuso com o uso de anotações. Getter e setter, hoje em dia, só é util para ser consumido por expressões JSTL.


Managed Beans teve seu conceito ampliado, não é só usado pelo JSF, mas pelo CDI também. O conceito é bem genérico: um managed bean é um objeto gerenciado pelo contâiner, podendo ter dependências injetadas. Só precisa ter o construtor vazio. Não há nenhuma diretriz com relação ao uso do Managed Bean, se vai haver ou não regra de negócio dependerá de como será usado e em qual camada seu objeto pertence.

Leonardo Veríssimo
-------------------------------------------------
Objectzilla
[WWW]
theodrums
Debugger

Membro desde: 19/01/2010 23:28:58
Mensagens: 73
Offline

Leonardo,

Fiquei até emocionado aqui com a explicação, coesa!

Bem, vou dar um exemplo e gostaria de saber como vc programaria.

Sei lá, tenho uma agenda. Nela tenho uma classe Contato e dentro de Contato tenho ArquivosCompartilhados.
O que vc transformaria em Managed Beans? O que vc persistiria no banco?

Vejo gente fazendo o seguinte:



Daí no xhtml:


Deixando a lógica nos Managed Beans e deixando apenas o estado no banco através do "contato".



 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team