Groovy isn't designed to replace Java -- it just makes Java cleaner and easier to develop. This presentation will look at various tasks Java developers need to do and demonstrate ways Groovy can help.
Topics will include building and testing applications, accessing databases, working with basic data structures, accessing web services, building desktop applications, and taking advantage of concurrency.
Grails comes with extensive testing support, ranging from unit to integration to functional tests. This session will demonstrate the range of options available both natively and through testing plugins.
Topics will include testing constraints, the mock libraries for testing controllers, generating test data, the available testing annotations, and more.
Prerequisite: Some knowledge of Grails would be helpful but not assumed
Languages that support both dynamic typing and closures radically simplify the standard design patterns. This presentation will demonstrate how many of the common patterns in Java simply vanish in Groovy, and how much simpler they are even when they remain.
Patterns will include Adapter, Factory Method and Abstract Factory, Builder, Decorator, Singleton, Proxy, Visitor, and as many more as time allows.
The Spring framework has always had a friendly relationship with dynamic languages. In this presentation, we'll look at all the ways you can add Groovy to Spring to make development easier, ranging from simplifying your configuration files to deploying refreshable beans to using Spock tests in the Spring test context and more.
Groovy works comfortably with existing Java infrastructure, and Spring has special capabilities designed specifically for scripting languages. The combination is very powerful and is an easy way to take advantage of Groovy code simplification.
The Grails Object Relational Mapping (GORM) API is an elegant domain specific language on top of Hibernate. To really understand how it works, you need to understand how Hibernate sees the world. This workshop will explore the behavior of GORM, from following object state transitions to managing the session to fetching lazy associations and more.
While the focus will be Grails and understanding how it works, code samples will also be provided using plain Hibernate with the Spring Framework to manage the session factory and transactions. All examples will be built with Gradle and tested with both JUnit and Spock.