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
Kommentar verfassen