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
Share on facebook
Share on twitter
Share on linkedin
Share on email

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!