Web Development Evolved: Grails 2.0 Released!

Engineering | Graeme Rocher | December 15, 2011 | ...

After nearly a year in development, we are extremely excited to announce the GA release of Grails 2.0 - the second major revision of the web framework that is changing the face of web development on the JVM.

This release brings a greatly enhanced user experience. Everything from the command line, to the test reports, to the UIs that Grails generates for you have been rethought and reinvented. Some of the exciting features available in Grails 2.0 include:

  • A new console UI incorporating tab completion and coloured output
  • A better and more reliable reloading mechanism, resulting in far fewer server restarts
  • Enhanced error reporting and problem diagnosis
  • The latest and greatest libraries: Groovy 1.8, Spring 3.1, Hibernate 3.6 and Servlet 3.0
  • A powerful framework for static resources (CSS, Javascript, etc.)
  • New APIs for link generation and page rendering
  • New GORM features: detached criteria, Where queries, multiple data sources, and more
  • Standard plugins for database migrations and reverse engineering
  • New unit testing API with full GORM emulation
  • … plus hundreds of smaller improvements

All of these new features are covered in great detail in the “What’s new in Grails 2.0?” section of the user guide. Also be sure to check out the Grails 2.0 webinar and the “Countdown to Grails 2.0” blog…

Countdown to Grails 2.0: User experience

Engineering | Peter Ledbrook | December 14, 2011 | ...

Welcome to this final Countdown to Grails 2.0 post: the final release is imminent! I'm not really going to say much here because some of the most interesting new features of Grails 2.0 are much better seen. For that reason, I've created a screencast so you can see exactly what awaits you when you install Grails 2.0 for the first time:


The key aspects are:

  • a whole new interactive console;
  • better automatic class reloading, including support for domain classes and Java files;
  • enhanced error reporting;
  • new HTML 5 scaffolding; and
  • new test reports.

As shown in the screencast, the new interactive console comes with: auto-completion on commands; execution of external applications using "bang" (!) commands; a command history buffer; and easy access to test and dependency reports. This is backed up by a much improved reloading mechanism for Grails classes. You don't need to restart run-app

This Week in Spring, December 13, 2011 (Spring 3.1 Edition)

Engineering | Josh Long | December 14, 2011 | ...

Today saw the release of the Spring framework, version 3.1, the next step in enterprise Java development.

  	There is a <EM>lot</EM> of other stuff to talk about this week, but we'll
  	forego them for next week, because there's quite simply too much to look at with Spring 3.1.  

  	Take a look at the following content, and don't forget to download (<A href="http://www.springsource.com/download/community?project=Spring%20Framework&version=3.1.0.RELEASE">direct</a> or <a href="http://www.springsource.org/spring-core#download">maven</a>) and try out the latest and greatest bits today! 

And, of course, for all the gritty details of what's new, check out the Spring Framework 3.1 release notes.

Among my favorite new features in this release:

<ul> <LI>
Comprehensive Java-based application configuration</LI>
</LI> <lI>New caching abstraction

Spring Framework 3.1 goes GA

Engineering | Juergen Hoeller | December 13, 2011 | ...

It is my pleasure to announce that Spring Framework 3.1 becomes generally available today! This release delivers several key features that make Spring ready for the challenges of 2012 and beyond:

  • The environment abstraction and the associated bean definition profiles, along with centrally configurable property sources for placeholder resolution.

  • Java-based application configuration based on @Enable* annotations on configuration classes, allowing for convenient container configuration: e.g. using @EnableTransactionManagement to activate declarative transaction processing.

  • The cache abstraction with our declarative caching solution (@Cacheable etc) on top, focusing on convenient interaction between application code and cache providers.

  • The Servlet 3.0 based WebApplicationInitializer mechanism for bootstrapping a Spring web application without web.xml! This is a key piece in Spring's web configuration story, providing a rich alternative to XML-based bootstrapping.

Spring Integration Scripting Support - Part 1

Engineering | David Turanski | December 08, 2011 | ...

Spring Integration scripting support, available in the 2.1 release, builds upon the Groovy scripting support introduced in 2.0.  If you are familiar with Spring Integration, consider scripting support as another tool in your toolbox that you will find useful in certain situations.  If you have existing code written in languages such as Groovy, Python, Ruby, or Javascript and need to integrate them with each other or into a Java application,  Spring Integration provides a simple way to do this.  Whatever the case, this post covers the basics to get you started using your favorite scripting…

This Week in Spring, December 6th, 2011

Engineering | Josh Long | December 07, 2011 | ...

Welcome back to another installment of This Week in Spring.

     We're in December, folks. I just can't believe that it's already December. 

Um, OK, ignore me.
Just astonished. Let's get into the roundup because there is a lot of new content this week.

  1. Did you miss SpringOne? Well, that's a shame. You missed out on a lot. However, don't fret, our friends at InfoQ are riding to the rescue with a steady stream of videos from the different talks at SpringOne2GX. The first two talks on the docket? The opening keynote with SpringSource CTO Adrian Colyer, SpringOne 2Gx Keynote - Spring, Yesterday, Today and Tomorrow.
    		On day two, <a href= "http://www.springsource.org/node/3322">Ben Alex lead the SpringOne 2GX technical keynote</a>, a procession of 
    		  demonstrations and thought provoking insights into next generation application development with Spring and on the cloud.
    		<LI> <a href = "http://www.twitter.com/ramnivas">Ramnivas Laddad</a>, all around great guy and one of the brilliant, mad…

Countdown to Grails 2.0: Persistence

Engineering | Peter Ledbrook | December 05, 2011 | ...

It's been a while since the last Countdown blog post, but the release of 2.0.0.RC3 gives me a good reason to write another. In the last post, I focused on database migration and how we are standardising on the new Database Migration Plugin. I'll be continuing on the theme of persistence here and introducing several great new features, particularly around querying.


Let's start with some of the minor improvements. First, abstract domain classes are now treated as most people would expect: an abstract base domain class results in a table for it and its subclasses. For example, consider the…

Cross Site Request Forgery and OAuth2

Engineering | Dave Syer | November 30, 2011 | ...

In this short article we look at Cross Site Request Forgery in the context of OAuth2, looking at possible attacks and how they can be countered when OAuth2 is being used to protect web resources.

OAuth2 is a protocol enabling a Client application, often a web application, to act on behalf of a User, but with the User’s permission. The actions a Client is allowed to perform are carried out on a Resource Server (another web application or web service), and the User approves the actions by telling an Authorization Server that he trusts the Client to do what it is asking. Common examples of Authorization Servers on the internet are Facebook and Google, both of which also provide Resource Servers (the Graph API in the case…

This Week in Spring, November 29th, 2011

Engineering | Josh Long | November 30, 2011 | ...

Welcome back to another installment of This Week in Spring. There's a lot to talk about this week as well as a bevy of new releases, so let's get right to it!

  1. Chris Beams has announced the latest and greatest release of Spring 3.1, RC2. This is the intended final release so get the bits and try it out soon. For a tour of what's what in Spring 3.1, check out the release notes and the Spring 3.1 blog series
  2.  <LI> 
    	The steady march to Spring Integration 2.1 GA continues. This week, <A href= "http://www.springsource.org/node/3315">Spring Integration 2.1 RC1  was  released</a>.  
    There are a lot of new features in  Spring Integration 2.1, including support for GemFire, RabbitMQ, MongoDB, and much, much, more.  For the full details, <a href="https://jira.springsource.org/secure/ReleaseNote.jspa?projectId=10121&version=12341">see the release notes</a>.  </LI>
    <A href ="http://www.springsource.com/developer/sts">SpringSource Tool Suite</A> lead Martin Lippert has announced the <a href="http…

Spring Roo 1.2.0.RC1 released

Engineering | Alan Stewart | November 24, 2011 | ...

The Spring Roo team is delighted to announce the availability of 1.2.0 Release Candidate 1. The Roo 1.2.0.RC1 release follows on from M1 and includes two exciting new features:

  • Multi-module Maven project support. This is the Roo community's most popular and most voted for feature (ROO-120). You can now create projects with a parent POM and as many project modules as you wish. For example, you can put your domain model in one module and separate out your UI code such as MVC or GWT, into their own modules.  Full documentation on this feature will be available in the general availability release of Roo 1.2.0 later this year.
  • JSF 2.0/PrimeFaces 3. The second most popular community feature and most asked for feature in the recent Roo survey - JSF 2.0/PrimeFaces support (ROO-516). You can now scaffold high-quality JSF applications utilizing the stunning components from the PrimeFaces 3.0 component library. Full round-tripping of code, switching between JSF 2.0 implementations (Oracle Mojarra or Apache MyFaces), and PrimeFaces theme selection via a Roo command are supported.

We have also enhanced our Roo annotations to give you more flexibility over the way you configure your persistence layer:

  • No need to have the "Active Record"-pattern persistence code in your domain objects any longer. The new @RooJpaEntity annotation ensures only the @Entity, @Id, and @Version fields and methods are created and maintained by Roo, with no CRUD methods. Classes annotated with @RooJpaEntity are intended to be used with Roo's JPA repository and service layering features.
  • The old @RooEntity annotation has been renamed to @RooJpaActiveRecord and is still the default when creating entities and will introduce the same CRUD methods as before.
  • Use RC1 in existing Roo projects? - easy, simply rename your @RooEntity annotations to @RooJpaActiveRecord and use the organize imports feature in STS or Eclipse to resolve the imports.
Please remember this is a release candidate release, so you should keep using Roo 1.1.5 for production projects. However, we encourage you to test this new release as we want to get 1.2.0.RELEASE to you as soon as possible.

We hope you enjoy this new release. Please share your experiences via the community forum, follow @SpringRoo for the latest news, or use #springroo in your tweets

Alan Stewart, Project Lead - Spring Roo

Get the Spring newsletter

Thank you!

Get ahead

VMware offers training and certification to turbo-charge your progress.

Learn more

Get support

Spring Runtime offers support and binaries for OpenJDK™, Spring, and Apache Tomcat® in one simple subscription.

Learn more

Upcoming events

Check out all the upcoming events in the Spring community.

View all