Kontakt aufnehmen
 Dauer 21 Stunden

Schulungsübersicht

Einführung in Groovy

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

Überblick über die Funktionen von Groovy

  • Dynamische Typisierung und optionale statische Typisierung
  • Skriptfähigkeiten von Groovy
  • Knappe Syntax und Sprachelemente
  • Closures und funktionale Programmierung
  • Groovy-Kollektionen und erweiterte APIs
  • Operatorüberladung
  • Zeichenketten-Interpolation
  • Sichere Navigation und Elvis-Operator
  • Entwicklung von Domänenspezifischen Sprachen (DSL)
  • Metaprogrammierungsfähigkeiten
  • Groovy Development Kit (GDK)

Einrichten der Entwicklungsumgebung

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

Erstellen Ihrer ersten Groovy-Anwendung

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

Vertrautmachen mit der Syntax von Groovy

  • Groovy-Anweisungen und Ausdrücke
  • Semikolons und optionale Syntaxelemente
  • Variablen und Konstanten
  • Dynamische und explizite Typisierung
  • Zeichenketten-Literale und Interpolation
  • Zeilenweise und mehrzeilige Zeichenketten
  • Operatoren und Ausdrücke
  • Groovy-Operatoren und Kurzformen
  • Verarbeitung von Nullwerten
  • Sichere Navigation
  • Elvis-Operator
  • Mehrfachzuweisung

Nutzung der Datentypen und Kollektionen von Groovy

  • Primitive und Objekttypen
  • Zahlen und numerische Operationen
  • Zeichenketten und Zeichen
  • Boolesche Werte
  • Daten und zeitbezogene Werte
  • Listen
  • Karten (Maps)
  • Mengen (Sets)
  • Bereiche (Ranges)
  • Iterieren über Kollektionen
  • Transformationen von Kollektionen
  • Filtern und Suchen in Kollektionen
  • Sortieren und Gruppieren von Daten
  • Groovy-Kollektionsmethoden

Nutzung von Groovy Closures

  • Verständnis von Closures
  • Syntax von Closures
  • Parameter von Closures
  • 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
  • Scope und Variable Capture
  • Closures für die funktionale Programmierung
  • Praktische Closure-Muster

Steuerung des Programmflusses mit Groovy-Strukturen

  • Konditionale Anweisungen
  • 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 Programmfluss-Features

Implementierung objektorientierter Programmierung (OOP) in Ihrer Anwendung

  • Definieren von Groovy-Klassen
  • Eigenschaften und Felder
  • Konstruktoren
  • Methoden
  • Kapselung
  • Vererbung
  • Schnittstellen
  • Abstrakte Klassen
  • Polymorphie
  • Methoden-Override
  • Methoden-Overloading
  • Groovy-Getter und Setter
  • Traits
  • Enums
  • Erstellen von Domänenmodellen für die Beispielanwendung

Metaprogrammierung zur Laufzeit und zur Kompilierzeit

  • Einführung in die Groovy-Metaprogrammierung
  • Dynamischer Methodenaufruf
  • Expando-Objekte
  • Manipulation von Methoden und Eigenschaften zur Laufzeit
  • Kategorien und Erweiterungen
  • MetaClass
  • Dynamisches Hinzufügen von Methoden
  • Abfangen von Methodenaufrufen
  • Kompilierzeit-Transformationen
  • Häufige AST-Transformationen
  • Verantwortungsvolle Nutzung der Metaprogrammierung
  • Praktische Beispiele für Metaprogrammierung

Arbeiten mit Builders

  • Einführung in das Builder-Muster
  • Groovy-Builder und deren Zweck
  • Erstellen hierarchischer Strukturen
  • XML-Builder
  • JSON-Builder
  • Erstellung von HTML und Markup
  • Konfiguration des Builder-Outputs
  • Nutzung von Closures mit Builders
  • Erstellen benutzerdefinierter Builder
  • Anwendung von Builders in Domänenspezifischen Sprachen

Zugriff auf eine Datenbank mit Groovy

  • Grundlagen der Datenbankanbindung
  • Verbinden von Groovy-Anwendungen mit Datenbanken
  • JDBC und Groovy-Datenbank-APIs
  • Konfiguration von Datenbankverbindungen
  • Ausführen von SQL-Abfragen
  • Lesen von Abfrageergebnissen
  • Einfügen, Aktualisieren und Löschen von Daten
  • Parametrisierte Abfragen
  • Transaktionen
  • Verarbeitung von Datenbankausnahmen
  • Arbeiten mit Groovy SQL
  • Aufbau der Datenbankanbindung in der Beispielanwendung

Aufruf von Java aus Groovy

  • Interoperabilität zwischen Groovy und Java
  • Nutzung von Java-Klassen in Groovy
  • Aufruf von Java-Methoden
  • Arbeiten mit Java-Bibliotheken
  • Nutzung von Java-Kollektionen
  • Verarbeitung von Java-Ausnahmen
  • Vergleich der Groovy-Syntax mit der Java-Syntax
  • Aufruf von Groovy-Code aus Java
  • Kombinieren von Groovy- und Java-Quelldateien
  • Integration von Groovy in bestehende Java-Anwendungen
  • Best Practices für die Interoperabilität

Anbindung an REST-Dienste und -Anwendungen

  • Einführung in REST-APIs
  • HTTP-Grundlagen für Groovy-Anwendungen
  • Senden von HTTP-Anfragen
  • Verarbeitung von GET-, POST-, PUT- und DELETE-Operationen
  • Arbeiten mit Anfrageparametern und -köpfen
  • Verarbeitung von JSON-Antworten
  • Erstellen von JSON-Anfragetexten
  • Verarbeitung der Authentifizierung
  • Verwaltung von HTTP-Fehlern
  • Nutzung externer REST-Dienste
  • Integration der REST-Funktionalität in die Beispielanwendung

Arbeiten mit der GDK

  • Einführung in die Groovy Development Kit
  • Erweiterte Java-APIs
  • Arbeiten mit Zeichenketten
  • Erweiterte Kollektionen
  • Datei- und Verzeichnisoperationen
  • Lesen und Schreiben von Dateien
  • Arbeiten mit Strömen
  • Verarbeitung von XML
  • Verarbeitung von JSON
  • Arbeiten mit Daten und Uhrzeiten
  • Nutzmethoden und Komfort-APIs
  • Auswahl geeigneter GDK-Funktionen

Unit-Testen einer Groovy-Anwendung

  • Einführung in das Testen von Groovy-Anwendungen
  • Grundlagen der Testgetriebenen Entwicklung
  • Schreiben von Unit-Tests
  • Nutzung von Test-Frameworks
  • Gestaltung von Testklassen
  • Assertionen
  • Testen von Klassen und Methoden
  • Testen von Closures
  • Testen von Ausnahmen
  • Mocking von Abhängigkeiten
  • Datengetriebenes Testen
  • Testen datenbankbezogener Funktionen
  • Testen von REST-Integrationen
  • Ausführen und Analysieren von Testergebnissen

Fehlerbehebung

  • Diagnose von Groovy-Syntaxfehlern
  • Fehlersuche bei Laufzeitfehlern
  • Behandlung von Kompilierproblemen
  • Fehlerbehebung bei Java-Interoperabilitätsproblemen
  • Fehlersuche bei Closures und Kollektionsoperationen
  • Untersuchung von Datenbankverbindungsproblemen
  • Fehlerbehebung bei REST-API-Integrationen
  • Fehlersuche im Verhalten der Metaprogrammierung
  • Nutzung von Logging- und Diagnosetools
  • Praktische Fehlerbehebungsübungen

Zusammenfassung und Schluss

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

Voraussetzungen

  • Programmiererfahrung in einer beliebigen Programmiersprache

Teilnehmerzahl


Preis je Teilnehmer (exkl. USt)

Erfahrungsberichte (1)

Kommende Kurse

Verwandte Kategorien