Kontakt aufnehmen
 Dauer 21 Stunden (3 Tage)

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
  • Überblick über die Beispielanwendung

Überblick über die Funktionen von Groovy

  • Dynamische Typisierung und optionale statische Typisierung
  • Skriptfähigkeiten von Groovy
  • Kurze Syntax und Sprachverbesserungen
  • Closures und funktionale Programmierung
  • Groovy-Sammlungen und erweiterte APIs
  • Operatorüberladung
  • Zeichenketteninterpolation
  • Sichere Navigation und Elvis-Operator
  • Entwicklung von Domain-Spezifischen Sprachen
  • Fähigkeiten zur Metaprogrammierung
  • Groovy Development Kit (GDK)

Einrichtung der Entwicklungsumgebung

  • Installation und Konfiguration von Groovy
  • Arbeiten mit Groovy-Distributionen
  • Verwendung von Groovy über die Kommandozeile
  • Ausführen von Groovy-Skripten
  • Erichung einer IDE
  • Erstellen eines Groovy-Projekts
  • Verwaltung 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
  • Verstehen der Struktur von Groovy-Skripten
  • Ausführen von Groovy-Anwendungen
  • Verwendung der println-Anweisung
  • Arbeiten mit Variablen
  • Definieren von Methoden
  • Hinzufügen von Kommentaren und Dokumentation
  • Aufbau einer einfachen Beispielanwendung
  • Kompilieren von Groovy-Code

Vertraut machen mit der Groovy-Syntax

  • Groovy-Statements und Ausdrücke
  • Semikolons und optionale Syntaxelemente
  • Variablen und Konstanten
  • Dynamische und explizite Typisierung
  • Zeichenkettenliterals und Interpolation
  • Einzellige und mehrzeilige Zeichenketten
  • Operatoren und Ausdrücke
  • Groovy-Operatoren und Kurzbefehle
  • Nullverarbeitung
  • Sichere Navigation
  • Elvis-Operator
  • Mehrfachzuweisung

Verwendung von Groovy-Datentypen und Sammlungen

  • Primitive und Objekttypen
  • Zahlen und numerische Operationen
  • Zeichenketten und Zeichen
  • Boolesche Werte
  • Datum- und zeitsbezogene Werte
  • Listen
  • Maps
  • Mengen
  • Bereiche
  • Iteration über Sammlungen
  • Transformationen von Sammlungen
  • Filterung und Suche in Sammlungen
  • Sortierung und Gruppierung von Daten
  • Groovy-Sammlungsmethoden

Verwendung von Groovy-Closures

  • Verstehen von Closures
  • Closure-Syntax
  • Closure-Parameter
  • Implizite Closure-Parameter
  • Aufruf von Closures
  • Closures als Variablen
  • Übergabe von Closures an Methoden
  • Zurückgabe von Closures aus Methoden
  • Closures und Sammlungen
  • Verwendung von Closures für Filterung und Transformation
  • Geltungsbereich und Variable Erfassung
  • Closures für die funktionale Programmierung
  • Praktische Closure-Muster

Steuerung des Programmflusses mit Groovy-Strukturen

  • Bedingte Anweisungen
  • if und else
  • Nested Bedingungen
  • switch-Statements
  • Loops und Iteration
  • for, while und do-while
  • Bereiche in Loops
  • Verwendung von Closures für Iteration
  • break und continue
  • Fehlerbehandlung
  • try, catch und finally
  • Auslösen von benutzerdefinierten Ausnahmen
  • Groovy-spezifische Steuerungsmerkmale

Implementierung der objektorientierten Programmierung (OOP) in Ihrer Anwendung

  • Definition von Groovy-Klassen
  • Eigenschaften und Felder
  • Konstruktoren
  • Methoden
  • Kapselung
  • Vererbung
  • Schnittstellen
  • Abstrakte Klassen
  • Polymorphismus
  • Methodenüberschreibung
  • Methodenüberladung
  • Groovy-Getter und Setter
  • Traits
  • Enums
  • Erstellung von Domänenmodellen für die Beispielanwendung

Metaprogrammierung zur Laufzeit und zur Kompilierzeit

  • Einführung in 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 Verwendung von Metaprogrammierung
  • Praktische Beispiele für Metaprogrammierung

Arbeiten mit Builders

  • Einführung in das Builder-Muster
  • Groovy-Builders und ihr Zweck
  • Erstellung hierarchischer Strukturen
  • XML-Builders
  • JSON-Builders
  • Generierung von HTML und Markup
  • Konfiguration der Builder-Ausgabe
  • Verwendung von Closures mit Builders
  • Erstellung benutzerdefinierter Builders
  • Anwendung von Builders in Domain-Spezifischen Sprachen

Zugriff auf eine Datenbank mit Groovy

  • Grundlagen der Datenbankverbindung
  • Verbindung 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
  • Bearbeitung von Datenbankausnahmen
  • Arbeiten mit Groovy SQL
  • Aufbau der Datenbankfunktionalität für die Beispielanwendung

Aufruf von Java aus Groovy

  • Groovy und Java-Interoperabilität
  • Verwendung von Java-Klassen aus Groovy
  • Aufruf von Java-Methoden
  • Arbeiten mit Java-Bibliotheken
  • Verwendung von Java-Sammlungen
  • Bearbeitung von Java-Ausnahmen
  • Groovy-Syntax im Vergleich zur 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-Grundlagen für Groovy-Anwendungen
  • Senden von HTTP-Anfragen
  • Bearbeitung von GET-, POST-, PUT- und DELETE-Operationen
  • Arbeiten mit Anfrageparametern und -köpfen
  • Verarbeitung von JSON-Antworten
  • Erstellung von JSON-Anfragekörpern
  • Behandlung der Authentifizierung
  • Verwaltung von HTTP-Fehlern
  • Verwendung externer REST-Dienste
  • Integration der REST-Funktionalität in die Beispielanwendung

Arbeiten mit dem GDK

  • Einführung in das Groovy Development Kit
  • Erweiterte Java-APIs
  • Arbeiten mit Zeichenketten
  • Erweiterte Sammlungen
  • Datei- und Verzeichnisoperationen
  • Lesen und Schreiben von Dateien
  • Arbeiten mit Streams
  • Verarbeitung von XML
  • Verarbeitung von JSON
  • Arbeiten mit Datum und Zeit
  • Nützliche Methoden und Komfort-APIs
  • Auswahl geeigneter GDK-Funktionalitäten

Unit-Testing einer Groovy-Anwendung

  • Einführung in das Testen von Groovy-Anwendungen
  • Grundlagen der testgetriebenen Entwicklung
  • Schreiben von Unit-Tests
  • Verwendung von Testframeworks
  • Strukturierung von Testklassen
  • Assertions
  • Testen von Klassen und Methoden
  • Testen von Closures
  • Testen von Ausnahmen
  • Mocking von Abhängigkeiten
  • Datengetriebenes Testen
  • Testen von Datenbank-funktionalität
  • Testen von REST-Integrationen
  • Ausführen und Analysieren von Testergebnissen

Fehlerbehebung

  • Diagnose von Groovy-Syntaxfehlern
  • Debugging von Laufzeitfehlern
  • Bearbeitung von Kompilierproblemen
  • Fehlerbehebung bei Java-Interoperabilitätsproblemen
  • Debugging von Closures und Sammeloperationen
  • Untersuchung von Datenbankverbindungsproblemen
  • Fehlerbehebung bei REST-API-Integrationen
  • Debugging von Metaprogrammierverhalten
  • Verwendung von Logging- und Diagnosewerkzeugen
  • Praktische Fehlerbehebungsübungen

Zusammenfassung und Schlussfolgerung

  • Wiederholung der Groovy-Grundlagen
  • Wiederholung der Syntax, Typen und Sammlungen
  • Wiederholung von Closures und funktionaler Programmierung
  • Wiederholung der objektorientierten Programmierung
  • Wiederholung von Metaprogrammierung und Builders
  • 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
  • Abschließende Praxisübung
  • Fragen und Diskussion

Voraussetzungen

  • Programmierkenntnisse in einer beliebigen Programmiersprache

Teilnehmerzahl


Preis je Teilnehmer (exkl. USt)

Erfahrungsberichte (1)

Kommende Kurse

Verwandte Kategorien