JavaBeans

Gostaria de saber para que realmente serve o javabeans? serve para empacotar funcionalidades afins em um pacote num arquivo jar para ser usado em varios lugares diferentes apenas importando o pacote? ele seria uma forma de componente como as dlls no desenvolvimento em plataforma microsoft? e aproveitando como compilo java em dll?

Grato Saulo Henry Pottier.

De uma olhada nesses topicos:

http://www.guj.com.br/posts/list/21577.java
http://www.guj.com.br/posts/list/21687.java

Voce nao cria dlls em Java, mas sim arquivos JAR, que sao os equivalentes.

Rafael

Mas como uso o java bean , tenho que coloca-lo em uma pasta no formato de jar e importa-lo como um pacote tipo isso? o que vi sobre material sobre bean mostra mais como um modelo de objeto tipo swing ai tem uma funcionalidade basica que vc tem que seguir para ser reutilizado e tal onde acho mais sobre beans?

Como o primeiro link que eu passei explica, esqueca o que vc aprendeu sobre Javabeans e Swing. Isso eh passado, algo que nao foi como a Sun esperava.
O conceito de Javabeans atualmente eh simplesmente uma classe Java simples, com metodos getXxx() e setXxx(), e um construtor padrao. Soh isso, nada mais…

Os links da resposta anterior tratam extamente da sua duvida.

Rafael

JavaBeans sao classes Java normais, que respeitam algumas convencoes de programacao a mais, e eh soh isso. Voce pode empacota-las em JARs se quiser, mas isso nao eh estritamente necessario.

Caso voce esteja muito confuso sobre essa historia toda, eu recomendo uma lida nesse aqui: http://www.amazon.com/exec/obidos/tg/detail/-/007882477X/qid=1111680097/sr=8-3/ref=pd_ka_1/002-6515413-7908051?v=glance&s=books&n=507846

Rafael obrigado pelas explicações mais continuando com a insistencia sobre o assunto é que a duvida é a seguinte. Sobre Java Beans em java por que usa-los se posso simplesmente criar uma classe definida por mim com a funcionalidade empacota-la e colocar em um arquivo .jar e usar como um componente? ow se estou sendo cego e não estou vendo que java bean é apenas um conceito para modelagem de componentes com um padrao simples a seguir , mas por que usar entao as classes que tem na api java sobre bean?

Grato Saulo henry Pottier.

E tem tambem aquele detalhezinho sobre ser serializavel que ninguem lembra ate ver que o cluster nao ta funcionando por causa das NotSerializableExceptions da sessao :mrgreen:

JavaBeans seguem regras de nomenclatura porque antes do Java 5 você tinha que ter isso para pdoer fazer uma macumbas com reflection. Só isso.

Eles foram criados para serem manipulados, não necessariamente para serem componentes gráficos (se são estes os componentes que você cita), por ferramentas.

[quote=saulohenry] Sobre Java Beans em java por que usa-los se posso simplesmente criar uma classe definida por mim com a funcionalidade empacota-la e colocar em um arquivo .jar e usar como um componente?
[/quote]

Nada te impede. E, alias, eh recomendavel que vc faca isso. Melhor, eh assim que se faz :P. um javabean eh uma classe Java, nada alem disso. Um termo que vc ira ver tambem eh “pojo” (Plain Old Java Object), que no final das contas da no mesmo.

[quote=saulohenry]
ow se estou sendo cego e não estou vendo que java bean é apenas um conceito para modelagem de componentes com um padrao simples a seguir , mas por que usar entao as classes que tem na api java sobre bean?.[/quote]

O “padrao” eh que, em Java, voce tem getAlgo() e setAlgo() normalmente. Muitos frameworks - e isso muito por causa da api de reflection - esperam que voce tenha um setXxx() ou getXxx() em muitos casos. Entenda como uma “regrinha” para criar classes Java para determiadas situacoes.
As classes do java.beans podem ser uteis em casos onde vc precisa de manipulacao dinamica das classes (em tempo de execucao), assim como a API de reflection.

Rafael

Obrigado a todos pelas explicações e esclarecimentos sobre o assunto me ajudaram a tirar da cabeça a ideia mirabolante que acabamos fazendo quando de fato não estamos enxergando a real.

Muito Obrigado!
Saulo H. P.