JavaBeans
JavaBeans es componentes de programmatura scribite in le linguage de programmation Java. Secundo le specification del Sun Microsystems le JavaBeans es "componentes reusabile de programmatura le quales pote esser manipulate visualmente con le adjuta de un utensile de disveloppamento". Un bean anque pote esser definite como un classe Java que expone proprietates, per sequer un convention de nomenclatura simple pro le methodos getter e setter. Practicamente illos es classes scribite de accordo con un convention in particular. Illos es usate pro encapsular multe objectos in un unic objecto (o bean), assi illos pote esser transmittite como un unic objecto in vice de varie objectos individual. Le JavaBean es un objecto de Java que es serialisabile, possede un constructor sin argumentos e permitte accesso a su proprietates a transverso de methodos getter e setter.
In despecto del similantia in le nomines, il debe evitar confunder le JavaBeans con le Enterprise JavaBeans, o EJBs, que es componentes usate in servitores e es parte del platteforma Java EE.
Le origine del termino (significante o non) veni del synomino del parola java, usate popularmente in le Statos Unite de America con le signification de caffe, e beans (in anglese "granos"), faciente un analogia de que le caffe es producite de granos que encapsula su sapor.[1]
Conventiones usate in le JavaBeans
Pro esser considerate como un JavaBean, un classe require sequer alcun conventiones de nomenclatura de methodos, constructores e comportamento.
Le conventiones defini que le classe debe:
- implementar le interfacie
java.io.Serializable
(que rende possibile le persistentia e restauration del stato del objecto del classe); - posseder un constructor sin argumentos;
- haber su proprietates accessibile a transverso de methodos get e set, per sequer un patron de nomenclatura;
- pote continer qualcunque methodo de tractamento de eventos.
Como iste requirimentos es exprimite in conventiones in vice de esser garantite a transverso de un interfacie, alcun programmatores vide le JavaBeans como Plain Old Java Objects que seque certe conventiones de nomenclatura. Totevia, iste vision es decipiente pro JavaBeans que suppota tractamento de eventos, a causa que le conventiones de nomenclatura in iste caso es plus complexe e demanda le uso de classes como base e le implementation de interfacies.
Le beans es usate per programmatores in jsp o seja (Java Server Page) ubi a transverso de illos on implementa constructores de classes e methodos.
Avantages e disavantages del uso del JavaBeans
Avantages
- Le proprietates, eventos e methodos de un bean le quales es exponite a altere application pote esser controlate.
- Un bean pote registrar e reciper eventos venite de altere objectos e generar eventos que essera inviate a aquelle altere objectos.
- JavaBeans pote esser configurate con le adjuta de programmaturas auxiliar.
- Le configurationes de un bean pote esser salvate in alcun medio de immaganinage persistente.
Disavantages
- Un classe con un constructor sin argumentos pote crear un instantia continente un stato invalide. Si le disveloppator manualmente (non alcun tipo de framework automaticamente) crea un instantia de tal classe, le disveloppator pote non perciper que le instantia de aquelle classe ha essite create de forma improprie. Le compiler non pote deteger tal problema, e mesmo si il es possibile documentar lo, nihil garanti que altere disveloppatores verificara le documentation.
- Le necessitate de crear un getter/setter pro cata proprietate. Illo pote generar codice duplicate.
API JavaBeans
Le functionalitate del JavaBeans es providite per un series de classes e interfacies in le pacchetto java.beans[2]
Exemplo
Persona.java
:
public class Persona implements java.io.Serializable
{
private String nomine;
private String etate;
public String getNomine()
{
return nomine;
}
public void setNomine(String nomine)
{
this.nomine = nomine;
}
public String getEtate()
{
return etate;
}
public void setEtate(String etate)
{
this.etate = etate;
}
/*constructor attribue vacue al attributos
a causa que valores nulle es monstrate in le pagina */
public Persona()
{
this.etate="";
this.nomine="";
}
}
persona.jsp
:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>JavaBean Persona</title>
</head>
<body>
<jsp:useBean id="persona" class="pacchetto.Persona"></jsp:useBean>
<jsp:setProperty property="*" name="persona"/>
<form action="persona.jsp" method="post">
Nomine: <input type="text" name="nomine"><br />
Etate<input type="text" name="etate" size="5">
<input type="submit" value="Inviar datos">
<p>
Nomine: <%=persona.getNomine() %></p>
Etate: <%=persona.getEtate() %>
</form>
</body>
</html>
- ↑ Geary, David; Horstmann, Cay (2010). Core JavaServer Faces, 3 (in anglese), Boston: Prentice Hall, 636. ISBN 978-0-13-701289-3.
- ↑ (anglese) Package java.beans