JavaBeans
JavaBeans são componentes de software escritos na linguagem de programação Java.
A especificação da Sun Microsystems define que os JavaBeans são "componentes reusáveis de software que podem se manipulados visualmente em uma ferramenta de desenvolvimento".
Apesar de algumas semelhanças, os JavaBeans não devem ser confundidos com os Enterprise JavaBeans ou EJBs, que são componentes utilizados em servidores e são parte da plataforma Java EE.
Convenções utilizadas nos JavaBeans
Para ser considerada como um JavaBean, uma classe precisa seguir algumas convenções de nomenclatura de métodos, construtores e comportamento. Estas convenções permitem a existência de ferramentas que podem utilizar e manipular e JavaBeans.
As convenções definem que a classe:
- implemente a interface
java.util.Serializable
(que possibilita a persistência e restauração do estado do objeto da classe); - possua um construtor sem argumentos;
- que as suas propriedades sejam acessíveis através de métodos "get" e "set", seguindo um padrão de nomenclatura;
- possa conter qualquer método de tratamento de eventos.
Como estes requerimentos são expressos em convenções ao invés de serem garantidos através de uma interface, algums desenvolvedores veêm os JavaBeans como Plain Old Java Objects que seguem certas convenções de nomenclatura. Porém, esta visão é enganosa para JavaBeans que suportam tratamento de eventos, já que as convenções de nomenclatura neste caso são mais complexas e pedem a utilização de classes como base e a implementação de interfaces.
Exemplo de classe JavaBean
public class JavaBeanPessoa implements java.io.Serializable { private String nome; private int idade;
// O construtor. Note a ausencia de argumentos. public JavaBeanPessoa() { }
public void setNome(String nome) { this.nome = nome; }
public void setAge(int idade) { this.idade = idade; }
public String getNome() { return this.nome; }
public int getIdade() { return this.idade; }
}