JavaBean
- Da non confondere con Enterprise JavaBeans .
I JavaBean sono classi nel linguaggio Java , scritte secondo determinate regole. Sono usati per combinare più oggetti in uno ( eng. bean - chicchi, chicchi di caffè) per un facile trasferimento dei dati. [uno]
La specifica Sun Microsystems definisce JavaBean come componenti software riutilizzabili che possono essere manipolati utilizzando designer grafici e strumenti IDE .
JavaBeans fornisce le basi per componenti software riutilizzabili, incorporabili e modulari . I JavaBean possono assumere molte forme, ma sono più comunemente usati negli elementi dell'interfaccia utente grafica (GUI) . Uno degli obiettivi della creazione di JavaBean è quello di interagire con strutture di componenti simili . Ad esempio, un programma Windows , dato l' oggetto bridge o wrapper appropriato , può utilizzare un componente JavaBeans come se fosse un componente COM o ActiveX .
JavaBean Descrizione Regole
Affinché una classe funzioni come un bean, deve seguire determinate convenzioni di denominazione, costruttore e comportamento dei metodi. Queste convenzioni consentono la creazione di strumenti che possono utilizzare, sostituire e collegare JavaBean.
Le regole di descrizione sono:
- La classe deve avere un costruttore senza parametri con un modificatore di accesso
public. Un tale costruttore consente agli strumenti di creare un oggetto senza la complessità aggiuntiva dei parametri. - Le proprietà della classe devono essere accessibili tramite
getesetaltri metodi (chiamati metodi di accesso ), che devono seguire la convenzione di denominazione standard. Ciò consente facilmente agli strumenti di rilevare e aggiornare automaticamente il contenuto del bean. Molti strumenti hanno anche editor specializzati per diversi tipi di proprietà. - La classe deve essere serializzabile . Ciò consente di salvare, archiviare e ripristinare in modo affidabile lo stato del bean in modo indipendente dalla piattaforma e dalla macchina virtuale.
- La classe deve avere i metodi equals(), hashCode() e toString() sovrascritti.
Poiché i requisiti sono per lo più espressi come una convenzione piuttosto che un'interfaccia , alcuni sviluppatori considerano JavaBean come semplici oggetti Java vecchi che seguono determinate convenzioni di denominazione.
Esempi
// PersonBean.java
la classe pubblica PersonBean implementa java . io . serializzabile {
nome stringa privato ; _
privato booleano deceduto ;
pubblico PersonBean () {
}
// Metodi getter (get) e setter (set)
public String getName () {
nome restituito ;
}
public void setName ( nome stringa ) {
questo . nome = nome ;
}
public boolean getDeceased () {
ritorno deceduto ;
}
public void setDeceased ( booleano deceduto ) {
questo . deceduto = deceduto ;
}
//Metodi equals() e hashCode() sovrascritti
@Oltrepassare
public boolean uguale ( Oggetto o ) {
se ( questo == o ) {
restituisce vero ;
}
if ( o == null || getClass () != o . getClass ()) {
restituisce falso ;
}
PersonBean that = ( PersonBean ) o ;
if ( deceduto != che . deceduto ) {
restituisce falso ;
}
ritorna ! ( nome != null ? ! nome . equals ( quel . nome ) : quel . nome != null );
}
@Oltrepassare
public int hashCode () {
int risultato = nome != null ? nome . codice hash ( ) : 0
risultato = 31 * risultato + ( deceduto ? 1 : 0 );
risultato di ritorno ;
}
//Metodo toString() sottoposto a override
@Oltrepassare
public String toString () {
restituisce "PersonaBean{" +
"nome='" + nome + '\'' +
", deceduto=" + deceduto +
'}' ;
}
}
// TestPersonBean.java
classe pubblica TestPersonBean {
public static void main ( String [] args ) {
PersonBean persona = nuovo PersonBean ();
persona . setName ( "Bob" );
persona . setDeceduto ( vero );
// Risultato: "Bob [deceduto]"
Sistema . fuori . stampa ( persona.getName ( ) );
Sistema . fuori . println ( person . getDeceased () ? " [deceduto]" : " [vivo]" );
}
}
Note
- ↑ La specifica JavaBeans ? . www.oracle.com . Estratto il 31 marzo 2021 . Archiviato dall'originale il 16 aprile 2021.