Kontakt aufnehmen

Schulungsübersicht

Einführung in Groovy

  • Einführung in Apache Groovy
  • Geschichte und Entwicklung von Groovy
  • Groovy und die Java Virtual Machine
  • Groovy als Skript- und Programmiersprache
  • Häufige Anwendungsfälle von Groovy
  • Groovy in Java-basierten Projekten
  • Vorteile der Verwendung von Groovy neben Java
  • Übersicht über die Beispielanwendung

Übersicht der Groovy-Funktionen

  • Dynamische Typisierung und optionale statische Typisierung
  • Skriptfähigkeiten von Groovy
  • Knappe Syntax und Sprachverbesserungen
  • Closures und funktionale Programmierung
  • Groovy-Kollektionen und erweiterte APIs
  • Operatorüberladung
  • Zeichenketteninterpolation
  • Sichere Navigation und Elvis-Operator
  • Entwicklung von domänenspezifischen Sprachen
  • Metaprogrammierfähigkeiten
  • Groovy Development Kit (GDK)

Einrichten der Entwicklungsumgebung

  • Installation und Konfiguration von Groovy
  • Arbeit mit Groovy-Distributionen
  • Nutzung von Groovy aus der Befehlszeile
  • Ausführen von Groovy-Skripten
  • Einrichtung einer IDE
  • Erstellen eines Groovy-Projekts
  • Verwalten von Abhängigkeiten
  • Integration von Groovy in Java-Projekte
  • Konfiguration der Entwicklungsumgebung für Container

Schreiben Ihrer ersten Groovy-Anwendung

  • Erstellen eines grundlegenden Groovy-Skripts
  • Verständnis der Groovy-Skriptstruktur
  • Ausführen von Groovy-Anwendungen
  • Verwendung der println-Anweisung
  • Arbeit mit Variablen
  • Definieren von Methoden
  • Hinzufügen von Kommentaren und Dokumentation
  • Erstellen einer einfachen Beispielanwendung
  • Kompilieren von Groovy-Code

Vertraut machen mit der Groovy-Syntax

  • Groovy-Anweisungen und Ausdrücke
  • Semikolons und optionale Syntaxelemente
  • Variablen und Konstanten
  • Dynamische und explizite Typisierung
  • Zeichenkettenliterals und Interpolation
  • Einzeilige und mehrzeilige Zeichenketten
  • Operatoren und Ausdrücke
  • Groovy-Operatoren und Shortcuts
  • Nullbehandlung
  • Sichere Navigation
  • Elvis-Operator
  • Mehrfachzuweisung

Nutzung der Groovy-Datentypen und -Kollektionen

  • Primitive und Objekttypen
  • Zahlen und numerische Operationen
  • Zeichenketten und Zeichen
  • Boolesche Werte
  • Daten- und zeitbezogene Werte
  • Listen
  • Karten
  • Mengen
  • Bereiche
  • Iteration über Kollektionen
  • Kollektionstransformationen
  • Filtern und Suchen in Kollektionen
  • Sortieren und Gruppieren von Daten
  • Groovy-Kollektionsmethoden

Nutzung von Groovy-Closures

  • Verständnis von Closures
  • Closure-Syntax
  • Closure-Parameter
  • Implizite Closure-Parameter
  • Aufruf von Closures
  • Closures als Variablen
  • Übergeben von Closures an Methoden
  • Zurückgeben von Closures aus Methoden
  • Closures und Kollektionen
  • Verwendung von Closures zum Filtern und Transformieren
  • Gebiet und Variablenfang
  • Closures für funktionale Programmierung
  • Praktische Closure-Muster

Steuerung des Programmflusses mit Groovy-Steuerstrukturen

  • Bedingungsanweisungen
  • if und else
  • verschachtelte Bedingungen
  • switch-Anweisungen
  • Schleifen und Iteration
  • for, while und do-while
  • Bereiche in Schleifen
  • Verwendung von Closures für Iteration
  • break und continue
  • Ausnahmeverarbeitung
  • try, catch und finally
  • Auslösen benutzerdefinierter Ausnahmen
  • Groovy-spezifische Steuerflussfunktionen

Implementierung objektorientierter Programmierung (OOP) in Ihrer Anwendung

  • Definieren von Groovy-Klassen
  • Eigenschaften und Felder
  • Konstruktoren
  • Methoden
  • Kapselung
  • Erbung
  • Schnittstellen
  • Abstrakte Klassen
  • Polymorphismus
  • Methode Überschreiben
  • Methode Überladen
  • Groovy-Getter und Setter
  • Traits
  • Aufzählungen
  • Erstellen von Domänenmodellen für die Beispielanwendung

Metaprogrammierung zur Laufzeit und zur Kompilierzeit

  • Einführung in die Groovy-Metaprogrammierung
  • Dynamische Methodenaufrufe
  • Expando-Objekte
  • Methoden- und Eigenschaftsmanipulation zur Laufzeit
  • Kategorien und Erweiterungen
  • MetaClass
  • Dynamisches Hinzufügen von Methoden
  • Abschneiden von Methodenaufrufen
  • Kompilierzeit-Transformationen
  • Häufige AST-Transformationen
  • Verantwortungsvoller Einsatz der Metaprogrammierung
  • Praktische Metaprogrammierbeispiele

Arbeit mit Builders

  • Einführung in das Builder-Muster
  • Groovy-Builder und ihr Zweck
  • Erstellen hierarchischer Strukturen
  • XML-Builder
  • JSON-Builder
  • HTML- und Markup-Erzeugung
  • Konfiguration der Builder-Ausgabe
  • Verwendung von Closures mit Builders
  • Erstellen benutzerdefinierter Builder
  • Anwendung von Buildern in domänenspezifischen Sprachen

Zugriff auf eine Datenbank mit Groovy

  • Begriffe der Datenbankverbindung
  • Verbindung von Groovy-Anwendungen mit Datenbanken
  • JDBC und Groovy-Datenbank-APIs
  • Konfiguration von Datenbankverbindungen
  • Ausführen von SQL-Abfragen
  • Lese von Abfrageergebnissen
  • Einfügen, Aktualisieren und Löschen von Daten
  • Parametrisierte Abfragen
  • Transaktionen
  • Verarbeitung von Datenbankausnahmen
  • Arbeit mit Groovy SQL
  • Erstellen der Datenbankfunktionalität für die Beispielanwendung

Aufruf von Java aus Groovy

  • Groovy- und Java-Interoperabilität
  • Nutzung von Java-Klassen in Groovy
  • Aufruf von Java-Methoden
  • Arbeit mit Java-Bibliotheken
  • Nutzung von Java-Kollektionen
  • Verarbeitung von Java-Ausnahmen
  • Groovy-Syntax im Vergleich zu Java-Syntax
  • Aufruf von Groovy-Code aus Java
  • Mischung von Groovy- und Java-Quelldateien
  • Integration von Groovy in bestehende Java-Anwendungen
  • Best Practices für Interoperabilität

Verbindung zu REST-Diensten und -Anwendungen

  • Einführung in REST-APIs
  • HTTP-Begriffe für Groovy-Anwendungen
  • Senden von HTTP-Anfragen
  • Verarbeitung von GET-, POST-, PUT- und DELETE-Operationen
  • Arbeit mit Anfrageparametern und -Kopfzeilen
  • Verarbeitung von JSON-Antworten
  • Erstellen von JSON-Anfragesörpern
  • Verarbeitung der Authentifizierung
  • Verwalten von HTTP-Fehlern
  • Nutzung externer REST-Dienste
  • Integration der REST-Funktionalität in die Beispielanwendung

Arbeit mit der GDK

  • Einführung in die Groovy Development Kit
  • Erweiterte Java-APIs
  • Arbeit mit Zeichenketten
  • Erweiterte Kollektionen
  • Datei- und Verzeichnisoperationen
  • Lesen und Schreiben von Dateien
  • Arbeit mit Streams
  • Verarbeitung von XML
  • Verarbeitung von JSON
  • Arbeit mit Daten und Zeiten
  • Nutzmethoden und Komfort-APIs
  • Auswahl der geeigneten GDK-Funktionalität

Unit-Testing einer Groovy-Anwendung

  • Einführung in das Testen von Groovy-Anwendungen
  • Begriffe der testgetriebenen Entwicklung
  • Schreiben von Unit-Tests
  • Nutzung von Testframeworks
  • Strukturierung von Testklassen
  • Assertionen
  • Testen von Klassen und Methoden
  • Testen von Closures
  • Testen von Ausnahmen
  • Mocking von Abhängigkeiten
  • Datengesteuertes Testen
  • Testen von Datenbankfunktionalität
  • Testen von REST-Integrationen
  • Ausführen und Analysieren von Testergebnissen

Fehlerbehebung

  • Diagnose von Groovy-Syntaxfehlern
  • Fehlersuche bei Laufzeitfehlern
  • Bearbeitung von Kompilierungsproblemen
  • Fehlerbehebung bei Java-Interoperabilitätsproblemen
  • Fehlersuche bei Closures und Kollektionsoperationen
  • Untersuchung von Datenbankverbindungsproblemen
  • Fehlerbehebung bei REST-API-Integrationen
  • Fehlersuche bei Metaprogrammierverhalten
  • Nutzung von Logging- und Diagnosewerkzeugen
  • Praktische Fehlerbehebungsübungen

Zusammenfassung und Schluss

  • Wiederholung der Grundlagen der Groovy-Sprache
  • Wiederholung der Syntax, Typen und Kollektionen
  • Wiederholung von Closures und funktionaler Programmierung
  • Wiederholung der objektorientierten Programmierung
  • Wiederholung der Metaprogrammierung und Builder
  • Wiederholung der Datenbank- und REST-Integration
  • Wiederholung der Groovy- und Java-Interoperabilität
  • Wiederholung der GDK-Fähigkeiten
  • Wiederholung der Testpraktiken
  • Best Practices für die Entwicklung von Groovy-Anwendungen
  • Letzte praktische Übung
  • Fragen und Diskussion

Voraussetzungen

  • Programmiererfahrung in jeder Programmiersprache
 21 Stunden

Teilnehmerzahl


Preis je Teilnehmer (exkl. USt)

Erfahrungsberichte (1)

Kommende Kurse

Verwandte Kategorien