Java-Entwickler können Grails-Code schnell lesen, schreiben aber häufig unnötig umständlichen oder zu dynamischen Groovy-Code. Produktiver Einsatz verlangt ein bewusstes Gleichgewicht zwischen Ausdrucksstärke, Typensicherheit und Wartbarkeit.
Das Seminar konzentriert sich auf Sprachmittel, die in Controller-, Service-, Domain- und Testklassen unmittelbar eingesetzt werden. Unkontrollierte Metaprogrammierung wird klar von sinnvollen Framework-DSLs abgegrenzt.
Inhaltsverzeichnis
- Zielgruppe
- Voraussetzungen
- Lernziele
- Modul 1: Groovy-Grundlagen für produktiven Grails-Code
- Modul 2: Statische Typisierung, Traits und Metaprogrammierung
- Modul 3: Projektstruktur, Artefakte und Konventionen
- Modul 4: Datenbindung, Command Objects und Validierung
- Modul 5: Services und fachliche Anwendungslogik
- Modul 6: Unit-Tests mit Spock
- Praxisprojekt und Übungen
- Arbeitsweise
Zielgruppe
Java-, Kotlin- oder andere JVM-Entwickler, die Grails-Projekte entwickeln oder warten sollen, sowie Grails-Einsteiger mit unsicheren Groovy-Kenntnissen.
Voraussetzungen
Sichere Grundlagen objektorientierter Programmierung. Java-Kenntnisse sind hilfreich; Groovy- oder Grails-Vorkenntnisse sind nicht erforderlich.
Lernziele
- Groovy-Syntax und Collections idiomatisch einsetzen.
- Closures und DSL-artige APIs sicher lesen und schreiben.
- Dynamische und statisch typisierte Bereiche bewusst wählen.
- Traits und Erweiterungsmethoden wartbar verwenden.
- Groovy-Code nahtlos mit Java-Bibliotheken kombinieren.
- Kleine Einheiten mit Spock verständlich testen.
Modul 1: Groovy-Grundlagen für produktiven Grails-Code
Die für Grails wesentlichen Sprachmittel werden anhand typischer Controller-, Service- und Domänenklassen erarbeitet.
- Schritt 1: Variablen, Datentypen, Operatoren, Strings und Collections praktisch anwenden.
- Schritt 2: Closures, optionale Parameter und benannte Argumente in Framework-APIs einsetzen.
- Schritt 3: Null-Sicherheit, Elvis-Operator und sichere Navigation gezielt verwenden.
- Schritt 4: Groovy-Code mit Java-Bibliotheken und bestehenden Java-Klassen kombinieren.
Modul 2: Statische Typisierung, Traits und Metaprogrammierung
Dynamische Sprachmittel werden gegen Wartbarkeit, Tool-Unterstützung und Laufzeitrisiken abgewogen.
- Schritt 1: Typinferenz, CompileStatic und TypeChecked anhand realer Klassen vergleichen.
- Schritt 2: Traits und Erweiterungsmethoden für wiederverwendbares Verhalten einsetzen.
- Schritt 3: AST-Transformationen und Grails-eigene Transformationen technisch einordnen.
- Schritt 4: Dynamische Metaprogrammierung auf klar abgegrenzte, testbare Einsatzfälle begrenzen.
Modul 3: Projektstruktur, Artefakte und Konventionen
Die Verzeichnisstruktur und die Lebenszyklen der wichtigsten Grails-Artefakte werden systematisch erschlossen.
- Schritt 1: Controller, Services, Domain-Klassen, Tag Libraries und Konfiguration lokalisieren.
- Schritt 2: Artefakte über Grails Shell und Gradle-Aufgaben erzeugen und prüfen.
- Schritt 3: Namenskonventionen, Packages und Komponenten-Scanning sauber festlegen.
- Schritt 4: Eigene Quellbereiche und gemeinsame Bibliotheken ohne Konventionsbruch integrieren.
Modul 4: Datenbindung, Command Objects und Validierung
Eingabedaten werden nur in ausdrücklich freigegebene Strukturen gebunden und fachlich validiert.
- Schritt 1: Bindungsquellen und zulässige Felder festlegen.
- Schritt 2: Command Objects mit deklarativen Constraints entwerfen.
- Schritt 3: Verschachtelte Daten, Datumswerte und Aufzählungen sicher konvertieren.
- Schritt 4: Validierungsfehler internationalisierbar und testsicher aufbereiten.
Modul 5: Services und fachliche Anwendungslogik
Services werden als klar definierte fachliche Schnittstellen mit kontrollierten Abhängigkeiten aufgebaut.
- Schritt 1: Service-Verantwortlichkeiten aus Anwendungsfällen ableiten.
- Schritt 2: Abhängigkeiten über Konstruktor- oder Framework-Injection bereitstellen.
- Schritt 3: Transaktionsgrenzen und Rückgabemodelle explizit festlegen.
- Schritt 4: Services mit Unit- und Integrationstests unabhängig von Controllern prüfen.
Modul 6: Unit-Tests mit Spock
Kleine fachliche Einheiten werden mit lesbaren Spezifikationen und klaren Testdoubles geprüft.
- Schritt 1: Given-when-then-Strukturen für Services und Hilfsklassen formulieren.
- Schritt 2: Mocks, Stubs und Spies nur entsprechend ihrer Aufgabe einsetzen.
- Schritt 3: Tabellentests für Varianten und Randfälle entwickeln.
- Schritt 4: Fehlerpfade und Interaktionen ohne unnötigen Framework-Start testen.
Praxisprojekt und Übungen
Typische Java-nahe Grails-Klassen werden schrittweise in klaren Groovy-Code überführt. Collections, Closures, Traits und Typisierung werden verglichen und mit Spock-Spezifikationen abgesichert.
Arbeitsweise
Kurze fachliche Einführungen wechseln mit Demonstrationen, angeleiteten Implementierungsschritten, selbstständigen Übungen und gemeinsamer Auswertung. Entscheidungen werden im Code, in Tests und in einer knappen technischen Dokumentation nachvollziehbar festgehalten.
Fachbereichsleiter / Leiter der Trainer / Ihre Ansprechpartner
-

Lucas Beich
Telefon: + 49 (221) 74740055
E-Mail: lucas.beich@seminar-experts.de
Seminardetails
| Dauer: | 2 Tage ca. 6 h/Tag, Beginn 1. Tag: 10:00 Uhr, weitere Tage 09:00 Uhr |
| Preis: |
Öffentlich oder Live Stream: € 1.198 zzgl. MwSt. Inhaus: € 3.400 zzgl. MwSt. |
| Teilnehmeranzahl: | min. 2 - max. 8 |
| Teilnehmer: | Java-, Kotlin- oder andere JVM-Entwickler, die Grails-Projekte entwickeln oder warten sollen, sowie Grails-Einsteiger mit unsicheren Groovy-Kenntnissen. |
| Voraussetzungen: | Sichere Grundlagen objektorientierter Programmierung. Java-Kenntnisse sind hilfreich; Groovy- oder Grails-Vorkenntnisse sind nicht erforderlich. |
| Standorte: | Stream Live, Inhaus/Firmenseminar, Berlin, Bremen, Darmstadt, Dresden, Erfurt, Essen, Flensburg, Frankfurt, Freiburg, Friedrichshafen, Hamburg, Hamm, Hannover, Jena, Kassel, Köln, Konstanz, Leipzig, Luxemburg, Magdeburg, Mainz, München, Münster, Nürnberg, Paderborn, Potsdam, Regensburg, Rostock, Stuttgart, Trier, Ulm, Wuppertal, Würzburg |
| Methoden: | Vortrag, Demonstrationen, praktische Übungen am System |
| Seminararten: | Öffentlich, Webinar, Inhaus, Workshop - Alle Seminare mit Trainer vor Ort, Webinar nur wenn ausdrücklich gewünscht |
| Durchführungsgarantie: | ja, ab 2 Teilnehmern |
| Sprache: | Deutsch - bei Firmenseminaren ist auch Englisch möglich |
| Seminarunterlage: | Dokumentation auf Datenträger oder als Download |
| Teilnahmezertifikat: | ja, selbstverständlich |
| Verpflegung: | Kalt- / Warmgetränke, Mittagessen (wahlweise vegetarisch) |
| Support: | 3 Anrufe im Seminarpreis enthalten |
| Barrierefreier Zugang: | an den meisten Standorten verfügbar |
| Weitere Informationen unter + 49 (221) 74740055 |
Seminartermine
Die Ergebnissliste kann durch Anklicken der Überschrift neu sortiert werden.
