JavaBean
JavaBeans | ||
---|---|---|
Información general | ||
Desarrollador | Sun Microsystems | |
Información técnica | ||
Programado en | Java | |
Versiones | ||
Última versión estable | 1.01 () | |
Enlaces | ||
Los JavaBeans son un modelo de componentes creado por Sun Microsystems para la construcción de aplicaciones en Java.
Se usan para encapsular varios objetos en un único objeto (la vaina o Bean en inglés), para hacer uso de un solo objeto en lugar de varios más simples.
La especificación de JavaBeans de Sun Microsystems los define como "componentes de software reutilizables que se puedan manipular visualmente en una herramienta de construcción".
A pesar de haber muchas semejanzas, los JavaBeans no deben confundirse con los Enterprise JavaBeans (EJB), una tecnología de componentes del lado servidor que es parte de Java EE.
Convenciones JavaBean
[editar]Para funcionar como una clase JavaBean, una clase debe obedecer ciertas convenciones sobre nomenclatura de métodos, construcción y comportamiento.
Estas convenciones permiten tener herramientas que puedan utilizar, reutilizar, sustituir y conectar JavaBeans.
Las convenciones requeridas son:
- Debe tener un constructor sin argumentos.
- Sus atributos de clase deben ser privados.
- Sus propiedades deben ser accesibles mediante métodos get y set que siguen una convención de nomenclatura estándar.
- Debe ser serializable.
Estructura
[editar]Dentro de un JavaBean podemos distinguir tres partes:
- Propiedades: Los atributos que contiene.
- Métodos: Se establecen los métodos
get
yset
para acceder y modificar los atributos. - Eventos: Permiten comunicar con otros JavaBeans.
Ejemplo
[editar]// Implementación de la interface Serializable del paquete java.io
public class PersonaBean implements java.io.Serializable {
// Cada variable de instancia tiene un modificador de acceso de tipo privado.
private String nombre;
private int edad
// Constructor vacío y sin argumentos.
public PersonaBean() {
}
// Constructor opcional de un JavaBean.
public PersonaBean(String nombre, int edad) {
this.nombre = nombre;
this.edad = edad;
}
// Constructor por copia (opcional)
public PersonaBean(PersonaBean personaBean) {
this.nombre = personaBean.getNombre();
this.edad = personaBean.getEdad();
}
// Por cada propiedad agrega un método get y set.
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
public int getEdad() {
return edad;
}
public void setEdad(int edad) {
this.edad = edad;
}
}