| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/07/2003 18:01:35
|
Vegetto
GUJ Ranger
Membro desde: 22/06/2003 15:39:49
Mensagens: 797
Localização: Campinas
Offline
|
Olá amigos, estou iniciando em java, e, todo mundo fala em bean, bean, bean!!!!
Pelo o que eu entendi ( por osmose ) bean é um componente com set's e get's somente.... ë isso mesmo, ou só falei besteira???
Abraços,
Tiago
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/07/2003 18:30:10
|
ricardolecheta
GUJ Master
![[Avatar]](/images/avatar/b59c67bf196a4758191e42f76670ceba.jpg)
Membro desde: 17/05/2003 13:42:10
Mensagens: 1486
Localização: Curitiba
Offline
|
vc está correto... uma bean é uma classe normal com várias
propriedades com os métodos get/set...
um exemplo de uso de uma bean é quando vc acessa o banco de dados e cria uma lista com várias beans...
digamos que vc possui uma tabela Pessoa, com os campos nome e fone...
aí na bean terá:
private String nome;
private String fone;
// gets e sets
depois que vc ler os registros da base vc pode criar uma lista de beans do tipo Pessoa entende ?
esta lista vc manda para uma página jsp por exemplo para mostrar os resultados da consulta...
é isso
|
Ricardo R. Lecheta
Livro - Google Android (português)
http://www.livroandroid.com.br/
http://livroandroid.blogspot.com/
http://www.livetouch.com.br/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/07/2003 18:40:59
|
cv
Moderador
![[Avatar]](/images/avatar/210f760a89db30aa72ca258a3483cc7f.jpg)
Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline
|
Mais duas coisas que tem que ter, pra ser considerado um bean:
- implementar java.io.Serializable
- ter um construtor default (sem parametros)
E nao, beans nao necessariamente precisam ser meras "structs" do C embelezadas, eles podem ter métodos com inteligência, sim
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/07/2003 21:08:24
|
Vegetto
GUJ Ranger
Membro desde: 22/06/2003 15:39:49
Mensagens: 797
Localização: Campinas
Offline
|
Valew pela resposta pessoal!
uma coisa que eu não saquei...
cv wrote:
- implementar java.io.Serializable
- ter um construtor default (sem parametros)
duas cosias na verdade...
Eu sei o que é Serialização, mas eu não entendi por que temos que implementar Serializable neles.
E por que do contrutor default?? Alguma conveção ou algo do tipo?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/07/2003 21:14:01
|
cv
Moderador
![[Avatar]](/images/avatar/210f760a89db30aa72ca258a3483cc7f.jpg)
Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline
|
Serializable:
Por que os beans podem ter que trafegar pela rede em um momento qualquer (um Servlet falando com EJB, por exemplo).
Construtor Default:
E eles tem que implementar um construtor default para que um mero .newInstance() (da API de reflection) possa instanciá-los. Isso é essencial, por exemplo, nos JSPs, com a tag <jsp:useBean>.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/07/2003 21:26:38
|
Vegetto
GUJ Ranger
Membro desde: 22/06/2003 15:39:49
Mensagens: 797
Localização: Campinas
Offline
|
Hummmmm entendi!!!
Muito obrigado pelas explicações
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/07/2003 22:12:28
|
alex.lopes
JavaGuru
Membro desde: 17/12/2002 12:36:08
Mensagens: 215
Offline
|
perguntinha boba
o que é uma classe Serializable??
pra que serve?
como isso funciona na pratica?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/07/2003 22:48:51
|
Bani
JWizard
![[Avatar]](/images/avatar/6cdd60ea0045eb7a6ec44c54d29ed402.jpg)
Membro desde: 13/10/2002 23:17:37
Mensagens: 2443
Localização: São Paulo
Offline
|
Pelo o que eu sei, os beans não precisam necessariamente implementar exatamente a interface java.io.Serializable. Precisam apenas ter algum mecanismo de serialização (atualmente a preferível é por XML).
Serializable é uma interface de marcação. Se a classe não implementá-la, os objetos não serão serializáveis. Serve só pra demonstrar que o programador realmente aceita as consequencias de uma serialização.
(Serialização é transformar o objeto que está na memória da JVM em algo que pode ser persistido em um arquivo, trafegado na rede, etc)
|
~ Site da Bani ~ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 09/07/2003 23:45:13
|
urubatan
Moderador
![[Avatar]](/images/avatar/fe9fc289c3ff0af142b6d3bead98a923.jpg)
Membro desde: 21/09/2002 10:31:26
Mensagens: 2481
Localização: Porto Alegre/RS
Offline
|
pela definição de JavaBean http://java.sun.com/products/javabeans/
um bean precisa ser serializavel (isto é, implementar java.io.Serializable)
pelo que diz em http://java.sun.com/products/javabeans/faq/faq.general.html#Q2
um JavaBean é um componente reutilizavel, e não somente uma classe com get e set para as propriedades,
a parte de Introspection do bean em uma ferramenta, precisa de um BeanInfo para funcionar corretamente, assim pode-se descrever as propriedades, metodos e eventos do Bean,
uma classe que apenas tem os metodos get e set para as propriedades, esta mais para um VO do que para um JavaBean,
um bom exemplo de JavaBean é o JButton, é serializavel, possui um BeanInfo para introspecção por ferramentas, encapsula alguma logica de ffuncionamento, ....
dizer que um JavaBean é apenas uma classe com get e set é no minimo menospresar a API JavaBean, que contem varias ferramentas.
para simplificar bastante um JavaBean é um componente reutilizavel que pode ser plugado em ferramentas de construção (como netbeans ou JBuilder) serializavel (para esta ferramenta poder salvar seu estado e recuperar depois, que possui um contrutor default (por exigencia da especificação), e encapsula alguma logica de funcionamento (caso contrario não teria necessidade de criar este componente, ou de chama-lo de componente) e pode ter uma ou mais classes, o que é conhecido como o Bean é apenas a interface publica para este componente, onde estão disponiveis suas propriedades, metodos e eventos.
|
[]'s
Rodrigo Urubatan
http://www.urubatan.com.br
Melhor livro de RoR do brasil: http://livro.urubatan.com.br
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/07/2003 01:31:11
|
Bani
JWizard
![[Avatar]](/images/avatar/6cdd60ea0045eb7a6ec44c54d29ed402.jpg)
Membro desde: 13/10/2002 23:17:37
Mensagens: 2443
Localização: São Paulo
Offline
|
Não necessariamente...
JavaBean components must be able to retain their state information. Typically, this is done through the Serialization API. However, according to Section 2.1 of the JavaBean specification, a bean is not required to inherit from any particular base class or interface. While some may think that the saving of state information must be done with the Serialization API, Section 5.4 of the specification states that the persistence could be done through generation of source code to reinitialize the state of a bean component.
|
~ Site da Bani ~ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/07/2003 02:04:36
|
urubatan
Moderador
![[Avatar]](/images/avatar/fe9fc289c3ff0af142b6d3bead98a923.jpg)
Membro desde: 21/09/2002 10:31:26
Mensagens: 2481
Localização: Porto Alegre/RS
Offline
|
ops, foi mau, me passei nesta
|
[]'s
Rodrigo Urubatan
http://www.urubatan.com.br
Melhor livro de RoR do brasil: http://livro.urubatan.com.br
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/07/2003 08:44:45
|
guscoppi
JavaTeenager
![[Avatar]](/images/avatar/c8b064453f568fa71646c.jpg)
Membro desde: 10/06/2003 09:37:38
Mensagens: 167
Localização: Joinville/SC
Offline
|
eu levei um tempo para entender oque é um Bean e como usar (o cv que diga né?! hehehehe)
mas assim... uma coisa que eu não tinha aprendido era que tinha que ter um construtor em branco... ele tem que ser necessariamente em branco?
por exemplo:
Isso é errado? Se for... eu poderia fazer um metodo setPessoa(String nome, int idade) com a mesma funcionalidade do construtor?
|
"Nas horas difíceis da vida você deve levantar a cabeça, estufar o peito, e dizer de boca cheia: Agora f* !!!" |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/07/2003 10:38:09
|
Rafael Afonso
Virtual Machine Man
Membro desde: 05/12/2002 16:03:43
Mensagens: 719
Localização: São Paulo/SP
Offline
|
A príncípio não há problema em ter um construtor com todos os parâmetroas, mas seu bean deve obrigatoriamente também ter um construtor sem parâmetros entre outras coisas pelos motivos citados pelo cv:
Construtor Default:
E eles tem que implementar um construtor default para que um mero .newInstance() (da API de reflection) possa instanciá-los. Isso é essencial, por exemplo, nos JSPs, com a tag <jsp:useBean>.
Outro motivo é que, no caso de beans gráficos (como componentes Swing) em IDEs (como JBuilder, NetBeans, Eclipse, etc), também é necessário que estes beans tenham um construtor sem argumentos.
E também há os EJBs
|
Rafael Ubiratam Clemente Afonso
---------------------------------------
GitHub
ScalaFX
LinkedIn |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/07/2003 09:57:33
|
jack_-_ganzha
JavaEvangelist
![[Avatar]](/images/avatar/847cc55b7032108eee6dd897f3bca8a5.jpg)
Membro desde: 31/03/2003 13:18:12
Mensagens: 315
Localização: Recife - Pernambuco
Offline
|
Bani wrote:
Pelo o que eu sei, os beans não precisam necessariamente implementar exatamente a interface java.io.Serializable. Precisam apenas ter algum mecanismo de serialização (atualmente a preferível é por XML).
Oi Bani, qual o mecanismo para serializar um bean para um xml? Tem que usar alguma api propria para o processamento de xml ou implementar/extender alguma classe? E por que a serializaçao para arquivos xml esta' sendo mais usada? Por causa de Web Services?
valeuz...
|
Marcos Silva Pereira
http://www.javafree.org
http://marcospereira.wordpress.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/07/2003 10:22:32
|
Vegetto
GUJ Ranger
Membro desde: 22/06/2003 15:39:49
Mensagens: 797
Localização: Campinas
Offline
|
Rafael Afonso wrote:E também há os EJBs
Mal eu fugir do assunto do tópico, mas o que são/é "EJBs" ?
Obrigado,
Tiago
|
|
|
 |
|
|