JAX07: Grails – Rapid Web Application Development

Grails (under the hood mvc)
www.svenhaiges.de
Actionality

von ROR inspiriert. Convention over configuration, DRY
Java/Groovy|J2EE
Spring MVC Framework

Eckpfeiler
Spring, Hibernate, SiteMesh(Layouting)

Eigene Hibernate Mappings für Legacy-Schema
Domainmodels
Dependency Injection

Model
Domain-Klassen (grails-app/domain)

class Podcast{
String title
String feedURL
}

Erzeugung grails creat-domain-class

1:n
def hasMan = [episodes:Episode]

Persistenz per GORM
u.a. Dynamic Finders
Podcast.findByTitle(„“) -> wird alles automatisch generiert
findAllByTitleLike
Auch direkte HQL Abfragen möglich

Constraints

static constraints = {
title(size:1..50)
feedURL(unique:true}
}

Definition per Closure

grails-app/conf
DB-Konfiguration
Grails Console

View
GSP, dynamic tag libraries
Groovy Server Pages
Dynamic Tag Libraries
Sitemash
<meta name=“layout“ content=“main“/>

Controller
generierung möglich grails generate-controller
einfacher Zugriff auf Parameter, Session, Flash

Nicht jede Seite braucht einen Controller. Ein Controller gilt für eine Domänen-Objekt!
render()-methode bietet die möglichkeit für ajax

Services: Businesslogik auslagen

Features:
Unit und Functional Testing
Funktionales Testing mit Webtest
grails run-webtest
Quartz Jobs
Auch komplett integriert
Grails Plugins

AJAX mit Grails
Scriptaculous, YahooUI, Dojo werden unterstützt und automatisch angepasst
Podcasts zu groovy und grails
hansamann.podspot.de/rss
infoq.com: getting started with grails
http://tinyurl.com/y3zmos

Für kleinere Teams ideal
Eclipse Plugin – Probleme mit Scaffolding und Locking

Advertisements



    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: