JavaBeans
Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från
versionen som granskades den 12 mars 2013; kontroller kräver
14 redigeringar .
Ej att förväxla med
Enterprise JavaBeans .
JavaBeans är klasser i Java-språket , skrivna enligt vissa regler. De används för att kombinera flera objekt till ett ( eng. bean - beans, coffee beans) för enkel dataöverföring. [ett]
Sun Microsystems- specifikationen definierar JavaBeans som återanvändbara programvarukomponenter som kan manipuleras med hjälp av grafiska designers och IDE- verktyg .
JavaBeans utgör grunden för återanvändbara, inbäddningsbara och modulära programvarukomponenter . JavaBeans kan ta många former, men de används oftast i grafiska användargränssnitt ( GUI) element . Ett av målen med att skapa JavaBeans är att interagera med liknande komponentstrukturer . Till exempel kan ett Windows-program , givet lämpligt brygg- eller omslagsobjekt , använda en JavaBeans-komponent som om det vore en COM- eller ActiveX- komponent .
JavaBean Beskrivningsregler
För att en klass ska fungera som en böna måste den följa vissa metodnamn, konstruktorer och beteendekonventioner. Dessa konventioner möjliggör skapandet av verktyg som kan använda, ersätta och länka JavaBeans.
Beskrivningsreglerna är:
- Klassen måste ha en parameterlös konstruktor med en åtkomstmodifierare public. En sådan konstruktor tillåter verktyg för att skapa ett objekt utan extra komplexitet med parametrar.
- Klassegenskaper måste vara tillgängliga via get, setoch andra metoder (kallade accessor methods ), som måste följa standardnamnkonventionen. Detta gör det enkelt för verktyg att automatiskt upptäcka och uppdatera böninnehåll. Många verktyg har till och med specialiserade redaktörer för olika typer av fastigheter.
- Klassen måste kunna serialiseras . Detta gör det möjligt att på ett tillförlitligt sätt spara, lagra och återställa beantillstånd på ett plattforms- och virtuell maskinoberoende sätt.
- Klassen måste ha metoderna equals(), hashCode() och toString() åsidosatta.
Eftersom kraven oftast uttrycks som en konvention snarare än ett gränssnitt , anser vissa utvecklare att JavaBeans är vanliga gamla Java-objekt som följer vissa namnkonventioner.
Exempel
// PersonBean.java
public class PersonBean implementerar java . io . Serialiserbar {
privat strängnamn ; _
privat boolesk avliden ;
public PersonBean () {
}
// Metoder getters (get) och setters (set)
public String getName () {
returnera namn ;
}
public void setName ( String name ) {
detta . namn = namn ;
}
public boolean getDeceased () {
återvända avliden ;
}
public void setDeceased ( boolean deceased ) {
detta . avliden = avliden ;
}
//Overridden equals() och hashCode() metoder
@Åsidosätta
public boolean lika med ( Object o ) {
if ( detta == o ) {
returnera sant ;
}
if ( o == null || getClass () != o . getClass ()) {
returnera falskt ;
}
PersonBean that = ( PersonBean ) o ;
om ( avliden != att . avliden ) {
returnera falskt ;
}
återvända ! ( namn != null ? ! namn . är lika med ( det . namn ) : det . namn != null );
}
@Åsidosätta
public int hashCode () {
int resultat = namn != null ? namn . hashkod ( ) : 0
resultat = 31 * resultat + ( avliden ? 1 : 0 );
returnera resultat ;
}
//Overridden toString()-metoden
@Åsidosätta
public String toString () {
returnera "PersonBean{" +
"name='" + namn + '\'' +
", deceased=" + deceased +
'}' ;
}
}
// TestPersonBean.java
public class TestPersonBean {
public static void main ( String [] args ) {
PersonBean person = new PersonBean ();
person . setName ( "Bob" );
person . setDeceased ( sant );
// Resultat: "Bob [död]"
System . ut . print ( person.getName ( ) );
System . ut . println ( person . getDeceased () ? " [deceased]" : " [levande]" );
}
}
Anteckningar
- ↑ JavaBeans- specifikationen ? . www.oracle.com . Hämtad 31 mars 2021. Arkiverad från originalet 16 april 2021. (obestämd)