Category: Java

Hibernate Validator 4 – Validierung, wo sie hin gehört

Vor gut zwei Wochen erschien die Version 4 des Hibernate Validators. Dabei handelt es sich um eine komplett neue Codebasis, es ist nun die Referenzimplementierung des JSR-303: Bean Validation. Der Hauptvorteil der Benutzung von Hibernate Validator ist, dass die Überprüfungen da stattfinden, wo sie maßgeblich sind, nämlich im Model. Statt also in allen Schichten (GUI/Web, Business Layer, Data Acess, …) eine eigene Prüfung zu implementieren (und sich damit leicht Inkonsistenzen und doppelten Code einzuhandeln) erfolgt die Validierung ausschließlich in den Domänen Objekten.

Die Validierung erfogt über Constraints, die als Annotationen angegeben werden. Es sind schon einige Constraints enthalten, für besondere Zwecke lassen sich eigene erstellen. Hier mal ein einfaches Beispiel:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// (imports usw. weggelassen)
public class Kunde {
 
    @NotNull(message = "Ein Kunde muss einen Namen haben")
    private String nachname;
 
    @Past(message = "Geboren in der Zukunft?")
    private Date geburtstag;
 
    @Size(min=6, max=20)
    @NotNull
    private String passwort;
 
    // Getter Setter usw.
}

Highlights der Version 4 sind:

  • Native Integration in JPA 2 und JSF 2 (für SEAM Experten nichts neues, hat dort schon mit Version 3 von Hibernate Validator funktioniert)
  • Groups: Es lassen sich Gruppen definieren, welche die Validierung bestimmter Constraints anstoßen
  • Typsicherheit: Es wird sichergestellt, dass ein Constraint zum Datentyp des Properties passt.
  • stark verbesserte Testsuite
  • uvm. …

Noch ein Hinweis: Hibernate Validator kann unabhängig von einer Verwendung des Hibernate ORM eingesetzt werden.

Meine Empfehlung: Unbedingt anschauen!

Share

JSF2 Linksammlung

Die neue Version von JSF (Java Server Faces) hat einige Verbesserungen mit sich gebracht. Hier sammle ich eine kleine Liste von Links zur Einführung in die Materie, die ich aktualisiere, wenn ich auf etwas Interessantes stoße.

To be continued … (freue mich über jeden interessanten Link!!!)

Share

Optimieren der Speicherbelegung mit visualgc

Hier nur schnell zwei Links zu einem Tool, das ich mir merken muss: visualgc, ein GUI-basiertes Programm zur Optimierung der Speicherbelegung von Java-Programmen.

Dank ans heise Team, für den schönen Artikel!

Share

RESTClient: Teste deine REST-Webservices

Wieder mal ein sehr schönes Tool entdeckt: RESTClient von WizTools.org, ein Java Programm zum Testen von REST-basierten Webservices. Das Tool gibts in zwei Geschmacksrichtungen, einmal als GUI-Version und zum anderen als Cli Version für die Batch-Ausführung.

Herausragend ist die Integration von Groovy zum Schreiben von Testscripten. So lassen sich Unit-Tests nach bewährtem Muster ganz einfach für Webservices implementieren und die Entwicklung wird kontinuierlich getestet.

Hier noch ein kleiner Artikel zu RESTClient von Subhash Chandran mit Code-Beispielen.

Share