# Was sind JavaBeans?



## minzel (10. Jun 2006)

Also hätte nun doch mal eine Frage, unzwar sollen wir als Aufgabenstellung per JSP eine Datenbankabfrage machen. Unter anderem ist der Satz gefallen: "... eine JavaBean zum Zugriff auf die Tabelle". Die Tabelle um die es bei mir Handelt ist eine MSSQL-DB. Diese Abzufragen oder zu manipulieren ist nicht das Problem. Aber in wie weit sieht das jetzt mit einem JavaBean aus? Da bin ich etwas überfragt.


----------



## L-ectron-X (10. Jun 2006)

Java Beans beschreiben im Prinzip die Softwareentwicklung mittels Komponententechnologie. 
Das heißt, dass ein Programm aus verschiedenen Teilanwendungen besteht, die über "genormte" Schnittstellen miteinander interagieren. Zur Laufzeit können weitere Beans eingebunden und sofort benutzt werden. 
JavaBeans finden sehr häufig Anwendung bei der Programmierung von Benutzerschnittstellen, also GUIs.

Und lies mal hier: http://de.wikipedia.org/wiki/Java_Beans


----------



## minzel (10. Jun 2006)

danke , für die rasche antwort, wollte eben noch ein PS schreiben. Zu deiner Antwort. nunja, auf der wiki seite war ich eben auch schon. Wie das ganze umgesetzt wird, wird da irgendwie nicht wirklich beschrieben. (Ansehnlig zumindest)

Hatte jetzt beim stöbern noch einen Beitrag gefunden: http://www.java-forum.org/de/viewtopic.php?t=16914&highlight=javabean

Handelt es sich bei einem Bean um eine einfache Serialisierung?


----------



## L-ectron-X (10. Jun 2006)

Nein, um ein abgeschlossenes Software-Modul. Serialisierung ist nur eine Eigenschaft einer Bean.


----------



## minzel (10. Jun 2006)

Hättest du vieleicht ein einfaches Beispiel wie man ein JavaBean aufbaut, im zusammenhang mit abfragen für datenbanken?


----------



## L-ectron-X (10. Jun 2006)

Sorry, da muss ich passen. Ich habe bisher nichts mit Beans programmiert.
Aber benutz mal die Forumsuche.


----------



## minzel (10. Jun 2006)

Ich glaube hab wieder zu voreilig geschrieben 
Habe eben diesen Beitrag gefunden: http://www.java-forum.org/de/viewtopic.php?t=31300&highlight=java+beans
=> "So einfach kann ein JavaBean sein"

Also ist ein JavaBean nichts anderes als eine Klasse die verschiedene Dinge macht. Bzw. wie dort als Beispiel gezeigt ein TextField sein und von mir aus noch ein Thread enthalten kann. Stimmt das soweit?


----------



## Gast (12. Jun 2006)

Also ein JavaBean ist meiner Meinung nach eine Klasse

- die einen Konstruktor ohne Argumente besitzt (muss nicht explizit programmiert werden)
- die eine Reihe privater Attribute hat
- bei der jedes Attribut über eine einfache getter und setter-Methode geschrieben bzw. ausgelesen werden kann.

Man bezeichnet die Dinger auch gern als POJOs (Plain Old Java Object). Einfach deshalb, weil die Klassen sehr einfach aufgebaut sind, und nicht so überfrachtet sind, wie das z.B. bei EJB 2.0 der Fall war.

Beispiel für ein Bean:

public class Benutzer {
   private String name;
   private String passwort;

   public String getName() {
       return name;
   }

   public void setName(String name) {
        this.name = name;
   }

   public String getPasswort() {
       return passwort;
   }

   public void setPasswort(String passwort) {
        this.passwort = passwort;
   }
}

Solche Beans werden dann in einer Applikation verwendet und über eine sogenannte Persistenzschicht (wie z.B. Hibernate) in einer Datenbank gespeichert. Sprich: Der Entwickler schreibt keine einzige Zeile SQL-Code mehr, sondern legt nur noch Objekte an, setzt und liest deren Attribute, und sagt der Persistenzschicht, dass sie gespeichert oder geladen werden sollen.

Leider wurde der Begriff JavaBeans früher auch für Komponenten grafischer Benutzeroberflächen eingesetzt. Ich weiß jetzt nicht sicher, welche JavaBeans du jetzt meinst, aber gerade im Zusammenhang mit Datenbanken muss ich an POJOs denken.


----------



## AlArenal (12. Jun 2006)

Gast hat gesagt.:
			
		

> Leider wurde der Begriff JavaBeans früher auch für Komponenten grafischer Benutzeroberflächen eingesetzt.



"Leider" ist eben dies aber korrekt. 

>> The Unknown JavaBean <<


----------



## minzel (12. Jun 2006)

Gut, das dürfte einiges erklären, hat mir auf jedenfall weitergeholfen und werde danach vorgehen. Danke nochmal an alle!


----------

