About the course
Discover the power of Groovy for modern Java development. This course introduces developers to Groovy's dynamic capabilities and its seamless integration with the Java ecosystem.
Groovy underpins a surprising number of platforms and tools, such as Bosch IoT Suite, and is used in production by companies including Netflix, Sony and Google.
On our Groovy course you'll learn how to use its concise syntax to write cleaner, faster code and increase productivity.
With practical, real-world exercises and guidance from an expert Groovy instructor, you'll gain the skills to build robust and maintainable JVM-based systems.
Instructor-led online and in-house face-to-face options are available - as part of a wider customised training programme, or as a standalone workshop, on-site at your offices or at one of many flexible meeting spaces in the UK and around the World.
-
- Set up a Groovy development environment and understand Groovy's relationship and compatibility with Java.
- Write effective Groovy scripts and classes, mastering core language fundamentals, data types, control flow, and string manipulation.
- Apply Object-Oriented Programming (OOP) principles in Groovy, including inheritance, polymorphism, and the use of Traits.
- Work proficiently with Groovy collections (Lists, Maps, Ranges) and leverage powerful Closure methods for data manipulation.
- Implement robust testing strategies in Groovy, including unit testing with JUnit and advanced specification testing with Spock.
- Handle data interchange formats by parsing and generating JSON and XML data using Groovy's built-in capabilities.
- Connect to and interact with relational databases using Groovy SQL and understand the basics of ORMs like GORM.
- Automate build processes for Groovy projects using Gradle, managing tasks, dependencies, and multi-project builds.
- Develop basic web applications using the Grails framework, including controllers, views, services, and RESTful web services.
- Understand concurrency concepts and apply Groovy's features for asynchronous and parallel programming.
-
This course is ideal for:
Java Developers: Looking to enhance their productivity, explore dynamic language features, and leverage Groovy for scripting, testing, or build automation within the Java ecosystem.
Backend Developers: Interested in building web applications, microservices, or APIs with frameworks like Grails, or integrating with databases.
DevOps Engineers / Automation Specialists: Seeking to write powerful and concise scripts for build automation (Gradle), system administration, or data processing.
QA Engineers / Test Automation Developers: Who want to leverage Groovy's capabilities for robust unit, integration, and specification testing with frameworks like Spock.
Anyone familiar with programming concepts: Looking to learn a modern, versatile language that seamlessly integrates with the JVM.
-
A working knowledge of Java or Scala is beneficial. We can customise the training to match your team's experience and needs - with more time and coverage of fundamentals for new developers, or a swifter pace for experienced coders.
-
This Groovy course is available for private / custom delivery for your team - as an in-house face-to-face workshop at your location of choice, or as online instructor-led training via MS Teams (or your own preferred platform).
Get in touch to find out how we can deliver tailored training which focuses on your project requirements and learning goals.
-
Introduction to Groovy
What is Groovy?
Groovy's relationship with Java
Groovy versions and compatibility
Setting up a Groovy development environment (SDKMAN!, IntelliJ IDEA, etc.)
Groovy Language Fundamentals
Scripts vs. classes
Data types and variables
Operators and expressions
Control flow
Functions and closures
Working with collections (lists, maps, ranges)
String manipulation
Object-Oriented Programming in Groovy
Classes and objects
Methods and properties
Constructors
Inheritance and polymorphism
Traits
GroovyBeans
Metaprogramming (optional)
Groovy Collections and Closures
Working with Lists
Working with Maps
Ranges
Iterators
Closures: syntax, usage, and advanced techniques
Collection methods (e.g., each, collect, findAll, grep)
Testing with Groovy
Introduction to testing in Groovy
Unit testing with JUnit
Integration testing
Specification testing with Spock
Spock basics: setup, feature methods, blocks
Data-driven testing
Mocking and stubbing with Spock
Concurrency in Groovy
Concurrency concepts
Java concurrency basics
Groovy's concurrency features (e.g., GPars)
Asynchronous programming with Groovy
Working with Data
Working with JSON and XML
Parsing and generating JSON
Parsing, creating, and manipulating XML with Groovy
Connecting to databases with Groovy
Using Groovy SQL
Working with Data Sources
Using ORMs like GORM
Build Automation with Gradle
Introduction to Gradle
Gradle basics: projects, tasks, dependencies
Configuring Groovy projects with Gradle
Dependency management
Multi-project builds
Testing with Gradle
Web Development with Groovy
Introduction to web development with Groovy
Introduction to Grails
Controllers
Views (e.g., Groovy Server Pages - GSP)
Services
Domain Classes
RESTful web services with Groovy
Advanced Groovy (Optional)
Metaprogramming
Compile-time metaprogramming
Groovy DSLs
Groovy and Reactive Programming
-
Apache Groovy Website: https://groovy-lang.org/ - The official website for the Apache Groovy programming language.
Groovy Documentation: https://groovy-lang.org/documentation.html - The official Groovy documentation.
SDKMAN!: https://sdkman.io/ - A tool for managing multiple software development kits, including Groovy.
IntelliJ IDEA: https://www.jetbrains.com/idea/ - A popular and powerful IDE with excellent Groovy support (from JetBrains).
Gradle: https://gradle.org/ - A powerful build automation tool, commonly used with Groovy.
Spock Framework: https://spockframework.org/ - A powerful testing and specification framework for Groovy.
Trusted by