Moderne Webentwicklung mit Java EE 7: Ein Experiment

Seite 5: Weitere Funktionen

Inhaltsverzeichnis

Folgende Features von Java EE 7 sind im Beispielprojekt zu sehen, sollen aber nicht im Detail vorgestellt werden:

- Annotierte Callback-Methoden werden automatisch zu bestimmten Zeitpunkten im Lebenszyklus der Entitäten aufgerufen wie @PreUpdate oder @PrePersist vor der Persistierung. Sie können beispielsweise Timestamps aktualisieren oder Validierungen durchführen.

- Validierungsnachrichten lassen sich mit wenigen Zeilen Code – analog zu flash in Rails – an den entsprechenden Komponenten im Frontend darstellen.

- Datenbankabfragen lassen sich mit der SQL-ähnlichen Java Persistence Query Language (JPQL) oder der typsicheren Criteria API gegen die Entitäten durchführen.

Die Umsetzung der Beispielanwendung verzichtet bewusst auf Frameworks, die nicht zum Standard von Java EE 7 gehören und über dessen Kernfunktionalität hinausgehen. Außerdem enthält das Projekt keinerlei automatische Tests. Es gibt jedoch im umfangreichen Ökosystem von Java viele interessante Bibliotheken, die die (Web-)Entwicklung moderner und vor allem besser testbar gestalten.

  • Weniger Boilerplate-Code mit Guava und Lombok: Die Google-Bibliothek Guava umfasst viele praktische Helfer und ermöglicht beispielsweise kurze und weniger redundante Implementierungen von equals(), hashCode() und toString(). Project Lombok nimmt dem Entwickler unter anderem die lästige Programmierung der Getter und Setter ab.
  • Ansprechende Oberflächen mit PrimeFaces: Wer mit wenig Code moderne Weboberflächen bauen will, die mit komplexen Controls arbeiten, sollte sich im Showcase von PrimeFaces umschauen.
  • Automatische Tests gegen echte Deployments mit Arquillian: Um die erstellte Webanwendung in einer "echten" Umgebung – also im Application Server – zu testen, bietet Arquillian einen einfachen Weg. Die Deployments lassen sich mit wenigen Zeilen Code direkt in der Testklasse zusammenstellen und wie normale Unit-Tests mit JUnit ausführen.