Groovy Training for Java Developers

Networking/Server/Operating Systems
Schedules
Optional
  LearnITAnytime Online Subscription (1 Year Subscription - $195.00)
  IT Online Library (1 Year Subscription - $1595.00)
Quantity
If quantity is more than 1, Please add all Attendees' Names /Voucher #/ Learning Credit below separated with a comma. If not specified, we will contact you prior to the class start date. Special Instructions
Overview

This Groovy Training for Java Developers training class teaches experienced Java developers how to write programs in Groovy, both by itself and in conjunction with existing Java code.

 

Goals
  1. Understand how dynamic languages differ from languages like Java or C#
  2. Work with Groovy closures
  3. Use Groovy control structures
  4. Build object-oriented programs in Groovy
  5. Use Groovy builders to reduce complexity
  6. Access databases using Groovy
  7. Write unit tests in Groovy
  8. Access Java classes from Groovy, and vice versa
  9. Build a simple web application using Grails
  10. Work with Groovy strings, closures, and collections
  11. Develop model-view-controller web applications using Grails
  12. Access relational databases from Grails
  13. Build unit and functional tests for web applications
  14. Groovy support in the Spring framework
  15. Build and test RESTful web.

Outline
  1. Groovy Fundamentals
    1. Differences between Groovy and Java
    2. Compiling and executing Groovy programs
    3. The basic Groovy data types and optional typing
    4. Writing Groovy scripts
    5. Declaring classes
    6. Overriding operators and type coercion
    7. The Groovy JDK: Groovy extensions to the Java standard library
    8. Groovy strings
    9. Regular expressions in Groovy

  2. Object-Oriented Programming In Groovy
    1. Plain Old Groovy Objects (POGOs)
    2. Generated getters/setters
    3. Public vs private defaults
    4. Map-based constructors
    5. @ToString, @EqualsAndHashCode, @TupleConstructor, and @Canonical

  3. Groovy Collections
    1. Ranges
    2. Lists
    3. Maps
    4. Iterators and polymorphic algorithms

  4. Closures in Groovy
    1. Declaring closures
    2. Available options for calling closures

  5. Groovy Control Structures
    1. The "Groovy truth"
    2. Conditional execution
    3. Looping constructs

  6. Miscellaneous Groovy operators
    1. Safe navigation with the ?. operator
    2. The Elvis operator
    3. The spaceship operator

  7. Unit Testing in Groovy
    1. GroovyTestCase
    2. JUnit tests in Groovy
    3. The Spock testing framework
    4. Spock mocks and stubs

  8. Abstract Syntax Tree (AST) Transformations
    1. @Delegate
    2. @Immutable
    3. @Singleton
    4. @TypeChecked and @CompileStatic

  9. Groovy Builders
    1. MarkupBuilder
    2. JsonBuilder
    3. AntBuilder and others

  10. Runtime Metaprogramming
    1. Working with Expandos
    2. The MetaClass class
    3. Adding fields and methods at runtime
    4. The Intercept-Cache-Invoke design pattern

  11. Database Access with Groovy
    1. Basic database operations
    2. DataSet operations
    3. Groovy and ORM solutions

  12. The Spring Framework
    1. Using Groovy beans in Spring applications
    2. "Refreshable" beans
    3. Inline scripted beans
    4. AOP using Groovy
    5. The Groovy BeanBuilder in Spring

  13. RESTful web services
    1. JAX-RS annotations on Groovy classes
    2. JsonSlurper and JsonBuilder
    3. REST clients with the HttpBuilder project
    4. The ratpack framework
    5. REST additions to Grails 2.3+

  14. The Gradle Build Tool
    1. The build challenge
    2. The Gradle plugin system
    3. Defining tasks and dependencies
    4. Using repositories
    5. Multi-project builds

Class Materials

Each student in our Live Online and our Onsite classes receives a comprehensive set of materials, including course notes and all the class examples.

 

Class Prerequisites

Experience in the following is required for this Groovy class:

  • Working knowledge of Java.

Preparing for Class
  • Onsite: Course Setup
  • Live Online: Course Setup | WebEx Setup