Bibliotheken Referenz Table of contents 1 Überblick über verwendete Software und Bibliotheken.................................................... 3 2 Datenbank: JDBC Treiber von HSQLDB..........................................................................3 3 4 5 6 2.1 Überblick....................................................................................................................... 3 2.2 Tips und Tricks..............................................................................................................3 2.3 JARs.............................................................................................................................. 3 2.4 Referenz.........................................................................................................................3 Spring Framework..............................................................................................................3 3.1 Überblick....................................................................................................................... 3 3.2 Tips und Tricks..............................................................................................................4 3.3 JARS..............................................................................................................................4 3.4 Referenz.........................................................................................................................5 Logging Framework: Apache log4j................................................................................... 5 4.1 Überblick....................................................................................................................... 5 4.2 Tips und Tricks..............................................................................................................5 4.3 JARs.............................................................................................................................. 5 4.4 Referenz.........................................................................................................................5 Unit Testen mit JUnit.........................................................................................................5 5.1 ....................................................................................................................................... 5 5.2 Tips und Tricks..............................................................................................................6 5.3 JARs.............................................................................................................................. 6 5.4 Referenz.........................................................................................................................6 XML-Verarbeitung: dom4j................................................................................................ 6 6.1 Überblick....................................................................................................................... 6 6.2 Tips und Tricks..............................................................................................................7 Copyright © 2006 Institut fuer Softwaretechnik und interaktive Systeme All rights reserved. Bibliotheken Referenz 6.3 JARs.............................................................................................................................. 7 6.4 Referenz.........................................................................................................................7 Page 2 Copyright © 2006 Institut fuer Softwaretechnik und interaktive Systeme All rights reserved. Bibliotheken Referenz 1. Überblick über verwendete Software und Bibliotheken Wichtige prinzipielle Anmerkung zur Verwendung von Bibliotheken: Üblicherweise gibt es in jedem Java Projekt ein lib Verzeichnis, in das die verwendeten Bibliotheken (jar Archive) hineinkopiert werden. Es ist aber äußerst empfehlenswert dem Namen des jar Files die Versionsnummer anzuhängen. Also beispielsweise: hsqldb-1.8.2.jar anstelle von hsqldb.jar Speziell in größeren und länger dauernden Projekten kann somit die Übersicht über verwendete Versionen bewahrt bleiben sowie Probleme wegen inkompatibler Bibliotheksversionen frühzeitig erkannt werden. 2. Datenbank: JDBC Treiber von HSQLDB 2.1. Überblick Der JDBC-Treiber von HSQLDB unterstützt die Standards JDBC2 und Teile von JDBC3. Mehr Infos zu hsqldb findet sich auf der Software Seite. 2.2. Tips und Tricks Die Dokumentation von HSQLDB enthält zahlreiche Code-Beispiele für seine Verwendung. 2.3. JARs • hsqldb.jar 2.4. Referenz HSQLDB Projekt Benutzerhandbuch SQL-Referenz 3. Spring Framework 3.1. Überblick Spring ist ein umfangreiches Java Application Framework, das unter anderem die Page 3 Copyright © 2006 Institut fuer Softwaretechnik und interaktive Systeme All rights reserved. Bibliotheken Referenz Softwareentwicklung mit folgenden Technologien unterstützt. 3.1.1. JavaBeans JavaBeans sind wiederverwendbare Klassen, die bestimmten Konventionen folgen. Sie werden auch benötigt, um Dependency Injection zu realisieren. (siehe Referenzen) 3.1.1.1. Konventionen für JavaBeans JavaBeans sollten alle folgenden Eigenschaften aufweisen: • ein parameterloser Konstruktor • Serialisierbarkeit • Zugriff auf die Variablen durch get- und set-Methoden 3.1.2. JDBC Java Database Connectivity ist eine von Sun entwickelte und in J2EE enthaltene Schnittstelle für den Zugriff auf Datenbanken. 3.1.3. DAO Data Access Object ist ein Design Pattern, bei dem der Zugriff auf Daten von der zugrundeliegenden Speichermethode (z.B. eine Datenbank) abstrahiert wird. 3.1.4. Transaktionen Spring bietet auch Unterstützung, um Datenbankzugriffe als Transaktionen zu realisieren. 3.2. Tips und Tricks Das Packet "spring-framework-with-dependencies" enthält auch einige der anderen Pakete, die für diese Übung benötigt werden. 3.3. JARS jar Beschreibung spring-beans.jar Basisbibliotheken zur Beans Verwaltung und Dependency Injection. spring-core.jar Basisklassen für das Behandeln von Exceptions und andere Hilfsfunktionen Page 4 Copyright © 2006 Institut fuer Softwaretechnik und interaktive Systeme All rights reserved. Bibliotheken Referenz spring-dao.jar Klassen, um den Data Access Object-Design Pattern umzusetzen. spring-jdbc.jar Datenbankschnittstelle für Spring 3.4. Referenz Spring Projekt Spring Referenz Erklärung von Dependency Injection 4. Logging Framework: Apache log4j 4.1. Überblick log4j ist ein einfach zu verwendendes Logging-Utilty für Java. Es unterstützt verschiedene Logging-Stufen und ist daher sehr gut zum Debuggen geeignet. Die Instanzierung der Logger erfolgt meist mit Hilfe der in Jakarta Commons Logging definierten Schnittstellen. 4.1.1. Konfiguration Die Konfiguration von log4j erfolgt durch eine Datei namens log.properties. 4.2. Tips und Tricks 4.3. JARs log4j.jar 4.4. Referenz Apache Log4j 5. Unit Testen mit JUnit 5.1. JUnit ist ein Unittest-Framework für Java, das es erlaubt, reproduzierbare Testfälle zu schreiben. Page 5 Copyright © 2006 Institut fuer Softwaretechnik und interaktive Systeme All rights reserved. Bibliotheken Referenz 5.1.1. Funktionsweise Jeder Testfall hat mindestens eine Methode, deren Name mit test beginnt. Diese Methoden werden von JUnit der Reihe nach ausgeführt. Vor jeder Testmethode werden mit der Methode setUp()die zu testenden Klassen in einen vordefinierten Zustand gebracht, nach jeder Testmethode wird mit tearDown() das System wieder aufgeräumt. Mit Hilfe von Zusicherungen (assert...) wird überprüft, ob das geforderte Ergebnis erzielt wird, wird die Zusicherung nicht erfüllt, gilt der Testfall als gescheitert. 5.2. Tips und Tricks Eclipse bietet die Möglichkeit, zu Java-Klassen automatisch JUnit-Testfälle zu generieren. 5.3. JARs junit.jar 5.4. Referenz JUnit 6. XML-Verarbeitung: dom4j 6.1. Überblick dom4j ist eine Bibliothek, die es erlaubt, XML auf Basis verschiedener Prinzipien zu verarbeiten. 6.1.1. DOM Mit DOM (Document Object Model) kann ein XML-Dokument auf objektorientierte Weise verarbeitet werden. Das Dokument wird dazu vollständig geparst und als Baum dargestellt. Dies ist ein Vorteil, wenn das Dokument an verschiedenen Stellen verarbeitet wird, erfordert aber mehr Speicher als eine sequenzielle Verarbeitung. 6.1.2. SAX SAX interpretiert ein XML-Dokument als einen Datenstrom und verarbeitet ihn ereignisorientiert. Diese sequenzielle Verarbeitung erfordert weniger Speicher und ist für bestimmte Anwendungen effizienter, es ist aber nicht so leicht, auf verschiedene Elemente Page 6 Copyright © 2006 Institut fuer Softwaretechnik und interaktive Systeme All rights reserved. Bibliotheken Referenz zuzugreifen, wie bei DOM. 6.2. Tips und Tricks 6.3. JARs dom4j.jar 6.4. Referenz dom4j Page 7 Copyright © 2006 Institut fuer Softwaretechnik und interaktive Systeme All rights reserved.