Groovy 4 and Grails

Course Number:

NTJVA150

Audience:

Course Duration:
4 days

Prerequisites:

Course Objectives:
Course Outline:
  • Getting Started with Groovy
    • Installing the Java JDK
    • Installing Groovy on Windows
    • SDKMAN
    • groovysh
    • groovyc
  • Language Basics and Data Types
    • Lab Using an IDE (eclipse) Creating Number and Other Datatypes
    • String and GString
    • Lab–Strings
    • Methods and Method Signatures
    • Lab–Calling Methods
    • Groovy Truth
    • Lab–What is True and What is False?
    • Regular Expressions
    • Lab–Expressions
  • Collections
    • Lists, Sets and Ranges
    • Lab–Working with Collections
    • Using Sort, Reverse, Join and the Spread Dot Operator
    • Lab–Collection Operations
    • Using any, every find and findAll
    • Lab–Using Groovy Truth
    • Map Elements
    • Lab–Map Operations
  • Closures
    • Basics
    • Parameters
    • Iteration
    • Lab–Iterating Using Closures
    • Maps and Closures
    • Sort collect find and findAll
    • Lab–Map Operations
  • Conditionals and Loops
    • If else, switch, Elvis and Safe De-Reference Operators
    • Lab–Conditional Operators
    • For Loops and Iterations
  • Classes
    • Class Definition
    • Packages, Variables and Groovy Beans
    • Lab–Creating Classes
    • Methods and Constructors
    • Lab–Constructors and Methods
    • Exceptions
    • Duck Typing
    • Lab–Polymorphism
    • AST Transformations
    • Lab–AST
  • Builders and Parsers
    • MarkUpBuilder and JsonBuilder
    • Lab–Using Builders
    • XmlSlurper
    • Lab–Using Parsers
  • Database Access
    • Queries and Updates
    • SQL
    • Lab–Query and Inserts
  • Grails Overview and Supporting Frameworks
    • MVC–Overview of Domain Classes, Controllers, GSPs, Services
    • Hibernate
    • Spring
    • Convention Over Configuration
    • Grails Toolset–The Grails Commands
    • Grails Application Structure
    • Dynamic Scaffolding
    • Lab–Your First Grails Application
  • Domain Classes
    • Configuring a Data Source, dev/test/prod Environments
    • Lab–Configure a Data Source
    • Properties, id, version, dateCreated, lastUpdated
    • Lab–Creating Domain Classes
    • Constraints and Validation, Unit Testing of Validation Constraints
    • Custom Validators
    • Using JUnit and Mocks
    • Lab–Validation
    • Inserting and Retrieving Domain Objects
    • Lab–Domain Object Persistence
    • Updating Domain Objects
    • Integration Testing versus Unit Testing
    • Lab–Integration Testing
  • Domain Class Relationships
    • One-to-Many
    • Unidirectional versus Bidirectional Relationships
    • Lab–Modeling Relationships
    • Transitive Persistence
    • Many-to-Many
    • Sorting
    • Lazy and Eager Fetching of Relationships, Batch Fetching
    • Lab–Fetching Strategies
  • Queries
    • Dynamic Finders
    • Lab–Using Dynamic Finders
    • HQL, Aggregate Functions, Tuple Queries, Explicit and Implicit Joins
    • Lab–HQL
    • Query Parameters for Sorting, Fetching, etc.
  • Legacy Schemas
    • Mapping Domain Classes onto Existing Tables
    • Lab–Legacy Schema Mappings
    • Mapping Relationships
    • Lab–Mapping Relationships
    • Dynamic Scaffolding (revisited), Static Scaffolding
    • Lab–Scaffolding
  • Controllers
    • URL Mappings
    • Writing Actions
    • Role of SpringMVC DispatcherServlet
    • Alternative Output Formats
      • Returning Data in XML and JSON Format
    • Lab–Request Parameters
    • Sharing Data Between Components: scopes–request, flash, session, application
    • Lab–Using Scopes
    • Forward vs. Redirect
    • Request Processing
    • Lab–A True MVC approach
  • Groovy Server Pages
    • Basics, MVC (revisited), Sharing Data between Components (revisited)
    • Rendering Data and Links
    • Lab – Rendering Data
    • Lab – Controllers and Actions
    • Rendering Errors
    • Externalized Messages and Internationalization (I18N)
    • Lab – Rendering Errors
    • Static Scaffolding
  • Services
    • Role of Services
    • Writing Services
    • Lab – Define a Service
    • Service Scope and Lifecycle
    • Injection into Controllers and Unit/Integration Tests
    • Lab – Dependency Injection of Services into Integration Tests and Controllers
  • Deployment
    • Java EE Deployment Overview
    • Exporting Grails Application into WAR File, Customizing/Deploying the WAR
    • Using Server-Configured DataSources
    • Exporting Generated Schema (in Domain-Driven Development)
    • Lab – Create and Customize a WAR

Related Posts

About Us

IT Training, Agile Ways of Working and High Impact Talent Development Strategies

Let Us Come to You!

Classes recently delivered in: Atlanta, Boston, Chicago, Columbus, Dallas, Detroit, Indianapolis, Jerusalem, London, Milan, New York, Palo Alto, Phoenix, Pittsburgh, Portland, Raleigh, San Antonio, San Diego, San Francisco, San Jose, Seattle, Springfield, Mass., St. Louis, Tampa and more!