close

JavaBeans

Zur Navigation gehen Zur Suche gehen
Nicht zu verwechseln mit Enterprise JavaBeans .

JavaBeans  sind Klassen in der Java-Sprache , die nach bestimmten Regeln geschrieben werden. Sie werden verwendet, um mehrere Objekte zu einem ( engl.  Bean - Bohnen, Kaffeebohnen) für eine einfache Datenübertragung zusammenzufassen. [eines]

Die Spezifikation von Sun Microsystems definiert JavaBeans als wiederverwendbare Softwarekomponenten, die mit grafischen Designern und IDE -Tools manipuliert werden können .

JavaBeans bilden die Grundlage für wiederverwendbare, integrierbare und modulare Softwarekomponenten . JavaBeans können viele Formen annehmen, aber sie werden am häufigsten in Elementen der grafischen Benutzeroberfläche ( GUI) verwendet . Eines der Ziele beim Erstellen von JavaBeans ist die Interaktion mit ähnlichen Komponentenstrukturen . Beispielsweise kann ein Windows-Programm mit dem entsprechenden Bridge- oder Wrapper-Objekt eine JavaBeans-Komponente verwenden, als wäre es eine COM- oder ActiveX- Komponente .

JavaBean-Beschreibungsregeln

Damit eine Klasse als Bean funktioniert, muss sie bestimmten Methodennamens-, Konstruktor- und Verhaltenskonventionen folgen. Diese Konventionen ermöglichen die Erstellung von Tools, die JavaBeans verwenden, ersetzen und verknüpfen können.

Die Beschreibungsregeln sind:

  • Die Klasse muss einen parameterlosen Konstruktor mit einem Zugriffsmodifizierer haben public. Ein solcher Konstruktor ermöglicht es Tools, ein Objekt ohne die zusätzliche Komplexität von Parametern zu erstellen.
  • Auf Klasseneigenschaften muss über get, setund andere Methoden (sogenannte Zugriffsmethoden ) zugegriffen werden können , die der Standardnamenskonvention entsprechen müssen. Auf diese Weise können Tools Bean-Inhalte automatisch erkennen und aktualisieren. Viele Tools verfügen sogar über spezialisierte Editoren für verschiedene Arten von Eigenschaften.
  • Die Klasse muss serialisierbar sein . Dadurch ist es möglich, den Bean-Zustand plattform- und VM-unabhängig zuverlässig zu sichern, zu speichern und wiederherzustellen.
  • Für die Klasse müssen die Methoden equals(), hashCode() und toString() überschrieben werden.

Da die Anforderungen meistens als Konvention und nicht als Schnittstelle ausgedrückt werden , betrachten einige Entwickler JavaBeans als einfache alte Java-Objekte , die bestimmten Namenskonventionen folgen.

Beispiele

// PersonBean.java

Die öffentliche  Klasse  PersonBean  implementiert  java . io . Serialisierbar  {
    privater  Stringname  ; _
    privat  boolean  verstorben ;

    öffentliche  PersonBean ()  {
    }

    // Methoden Getter (get) und Setter (set)
    öffentlicher  String  getName ()  {
        Rückgabename  ; _
    }
    public  void  setName ( Zeichenfolgenname ) { _  
        dies . name  =  name ;
    }
    öffentlicher  boolescher  getDeceased ()  {
        kehren  Sie verstorben zurück ;
    }
    public  void  setDeceased ( boolean  verstorben )  {
        dies . verstorben  =  verstorben ;
    }

    //Überschriebene equals()- und hashCode()-Methoden
    @Überschreiben
    public  boolean  equals ( Objekt  o )  {
        wenn  ( dies  ==  o )  {
            gib  wahr zurück ;
        }
        if  ( o  ==  null  ||  getClass ()  !=  o . getClass ())  {
             gebe falsch zurück ;
        }

        PersonBean  that  =  ( PersonBean )  o ;

        if  ( verstorben  !=  das . verstorben )  {
             gebe falsch zurück ;
        }
        zurück  ! ( name  !=  null  ?  ! name . equals ( that . name )  :  that . name  !=  null );

    }

    @Überschreiben
    öffentlicher  int  hashCode ()  {
        int  result  =  name  !=  null  ?  Namen . HashCode (  ) :  0
        Ergebnis  =  31  *  Ergebnis  +  ( verstorben  ?  1  :  0 );
         Ergebnis zurückgeben ;
    }

    //Überschriebene toString()-Methode
    @Überschreiben
    öffentlicher  String  toString ()  {
        geben  Sie "PersonBean{"  + zurück
                "name='"  +  name  +  '\''  +
                ", verstorben="  +  verstorben  +
                '}' ;
    }
}
// TestPersonBean.java

öffentliche  Klasse  TestPersonBean  {
    public  static  void  main ( String []  args )  {

        PersonBean  person  =  new  PersonBean ();
        Person . setName ( "Bob" );
        Person . setDeceased ( true );

        // Ergebnis: "Bob [verstorben]"
        System . aus . print ( person.getName ( ) );
        System . aus . println ( person . getDeceased ()  ?  " [verstorben]"  :  " [lebendig]" );
    }
}

Notizen

  1. Die JavaBeans-Spezifikation   ? . www.oracle.com . Abgerufen am 31. März 2021. Archiviert vom Original am 16. April 2021.