Grails – Installation und erste Schritte

Vor den ersten Schritten liegt immer die Installation. Im Falle von Grails gestaltet die sich relativ einfach:

  1. Download und Auspacken in einem beliebigen Verzeichnis
  2. Umgebungsvariable JAVA_HOME auf eine existierende J2EE Installation (Version >= 1.4) setzen

das sieht dann unter Windows so aus:


> set JAVA_HOME=C:\j2sdk1.4.2_02
> set PATH=%PATH%;\bin

Ist man damit fertig steht grails zur Verfügung. Mit grails help kann man sich alle möglichen Kommandos anzeigen lassen und zugleich feststellen, ob grails richtig installiert ist.


Usage: grails [target]

Targets:
"create-app"          - Create a new grails app
"create-controller"   - Create a new controller
"create-service"      - Create a new service
"create-domain-class" - Create a new domain class
"create-taglib"       - Create a new tag library class
"create-test-suite"   - Create a new test suite
"create-job"          - Create a quartz scheduled job
"generate-controller" - Generates a controller from a domain class
"generate-views"      - Generates the views from a domain class
"generate-all"        - Generates the all artifacts from a domain class
"install-dojo"        - Installs the Dojo toolkit into the current project
"test-app"            - Run current app's unit tests
"run-app"             - Run the application locally and wait
"create-webtest"      - Create the functional test layout
"generate-webtest"    - Generates a WebTest from a domain class
"run-webtest"         - Run the functional tests for a running app
"war"                 - Creates a deployable Web Application Archive (WAR)
"shell"               - Opens the Grails interactive command line shell
"console"             - Opens the Grails interactive swing console

Mit diesem Wissen kann man jetzt eine Applikation erstellen:


> cd 
> grails create-app
...
create-app:
    [input] Enter application name:
usermanagement
...
BUILD SUCCESSFUL

Die Anwendung wäre jetzt schon mit grails run-app lauffähig, aber zum Testen wäre es schön, auch schon einmal Daten abzufragen oder eingeben, ändern oder löschen zu können (die s.g. crud Operationen). Grails nutzt, wie viele andere Webanwendungen auch, das Model-View-Controller (MVC) Entwurfsmuster. D.h., dass man für das Model (eigentliche Daten) Klassen benötigt, über die man die Daten persistent abspeichern kann. Bei Grails spricht man hier von den s.g. Domain Klassen, deren Grundgerüst man wie folgt generiert (sie aber auch manuell anlegen kann).


> grails create-domain-class
...
create-domain-class:
    [input] Enter domain class name:
user
...

Danach befindet sich im Verzeichnis grails-appdomain die Datei User.groovy mit dem Gerüst der Domain – Klasse. Jeder Benutzer, der durch ein Objekt der Domain – Klasse User repräsentiert wird, soll die Eigenschaften .


class User {
    Long id
    Long version

    String firstname
    String lastname
    String email
    Date createdAt
}

Jetzt fehlt uns nur noch ein Controller, der auch von Grails anhand der Domain Klasse (unser User) generiert werden kann.


grails generate-all
...
input-domain-class:
    [input] Enter domain class name:
user
...

Danach befindet sich im Verzeichnis grails-appcontrollers die Datei UserController.groovy mit dem Gerüst der Controller – Klasse. Zum Testen empfiehlt es sich aber auf die ScaffoldingFunktionen von Grails zurückzugreifen, die die Applikation dynamisch zur Laufzeit generieren.


class UserController {
   def scaffold = User
}

Dank der mitgelieferten HypersonicSQL Datenbank und dem Servlet Container Jetty kann man nach dem Absetzen des Kommandos grails run-app unter der Url http://localhost:8080/usermanagement/user seine fertige Webapplikation testen.

Wer jetzt zum ersten mal scaffolding in Aktion gesehen hat, der möchte am liebsten nur noch damit arbeiten, weil es so schön einfach und bequem ist. Leider können deutschsprachige Anwender, meist wenig mit englischen Feldbezeichnungen anfangen, so dass diese Funktion nur den Formularen vorbehalten bleibt, die der Anwender nicht zu Gesicht bekommt.

Im nächsten Beitrag werde ich mich der Konfiguration der Datenbankverbindung widmen.

ein Kommentar

  1. Alex · · Antwort

    Danke für das nette Tutorial.

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: