Bean: afinal, pra q exatamente serve e quando usar ?!?!

Ola!!

Talvez isso pareça algo bem bobo, mas nao sei quando ou porque usar um bean.

qual a diferença pra uma classe java comum??
por que é necessario usar??

:smiley:

alguém…

Oi Ticianne,

um JavaBean (ou Bean, somente) é uma classe Java que segue algumas diretivas. A idéia original era possibilitar a criação de componentes encapsulados que, seguindo alguns padrões, poderiam ser utilizados por ferramentas/frameworks mais genéricos.

Tem um “trail” da Sun sobre isso, bem antigo: http://java.sun.com/docs/books/tutorial/javabeans/

Mas acho que o “Bean” que você está pensando é uma classe Java normal, com variáveis privadas e métodos Get/Set, não?
Se for isso, então caimos em umas discussões pesadas do pessoal de modelagem - se devemos usar classes somente para transportar dados, se pares Get/Set são úteis/necessários, e por aí vai…

Minha opinião sobre o assunto: pode ser usado, dependendo da necessidade do projeto (isolamento de componentes de negócio, tipo de autorização de acesso utilizada, etc.).
Via de regra, não é necessário tê-los - suas classes de domínio deveriam prover os atributos e métodos necessários para representar um conceito.

Alguns frameworks, como JSTL, esperam que os objetos manipulados por suas tags tenham esse padrão de Getters/Setters, como o kodomo mencionou.

Se não é nada disso, desenvolva mais o assunto :wink:

Na especificação da Sun Java Bean 1 .01 temos que “Um bean é um componente de software que suas propriedades podem ser manipuladas graficamente por uma ferramenta”
Isso na época que só tinhas awt no java.
Existem varias polemicas em java duas são entre as definições de POJO e JavaBeans, no final tudo é classe. :smiley:

A grosso modo, seu objeto é um JavaBean quando dem apenas atributos privates e métodos acessores do tipo getNomeDoAtributo setNomeDoAtributo.

Um monte de blá blá blá só para definir um padrão bobo de encapsulamento.

xiiiii o conceito de bean foi criado pela sun para ser usado junto com imagens…é muito estranho sabe…mas era para um javabean ser mais ou menos como o botãozinho file do seu browser sabe? um componente gráfico com os seter e getter…
é uma coisa estranha…

ta…

entao pq todo acesso de servlet a banco tem um bean???

[quote=Ticianne]ta…

entao pq todo acesso de servlet a banco tem um bean???[/quote]

Por que se viu que o padrão de get e set era poderoso e se criou o padrão de usar bean para fazer a ligação…

mas entao eu posso fazer meus metodos get e set normais dentro de uma classe qualquer e usa-la pra fazer essa ligaçao ser necessariamente ser um bean??

ou sera que existem metodos especificos bean??

[quote=Ticianne]mas entao eu posso fazer meus metodos get e set normais dentro de uma classe qualquer e usa-la pra fazer essa ligaçao ser necessariamente ser um bean??

ou sera que existem metodos especificos bean??[/quote]
Os javabeans são classes que tem um construto sem argumentos e somente getter e setter…

um bean e uma class comum nao mudam quase nada

a unica diferença é q um bean tem q implementar java.io.Serializable e q vc deve acessar as variáveis através get e set

e um bean serve pra tirar um pouco do codigo java do jsp :slight_smile:

espero ter ajudado! 8)

Abraços!