Getting Started with Spring Roo

Engineering | Ben Alex | May 27, 2009 | ...

Update: The third installment of the "Introducing Spring Roo" blog series is now available and covers Roo's internal architecture in detail.

I have a confession to make. While many of you would know I've been busily working away on Spring Roo in recent months, I also have a separate project that hasn't made it into Subversion. The other project is planning our wedding, as next month my fiancée and I are traveling overseas to get married. So as I pondered what I could show you in this blog entry about Roo, it struck me that I should take the opportunity to build our wedding's RSVP site using Roo! So today we'll be learning how to build a wedding RSVP site using Roo, which some of my colleagues have commented is an enterprising example of pursuing work-life balance. :-)

Progress Update

If you missed the first installment in the Spring Roo blog series on 1 May 2009, in brief I introduced the vision of SpringSource's new open source productivity tool for those wanting to rapidly build best practice Spring applications in Java. As many people discovered who played around with the alpha releases, Spring Roo offers a powerful and easy-to-use approach to productive application development, with much of the motivation behind Roo emerging in the first Jira issue, ROO-1 (logged by Rod Johnson, Father of Spring and CEO of SpringSource).

Today I am pleased to announce that we have just released Spring Roo 1.0.0.M1. This release not only features numerous fixes, enhancements and a 31% performance improvement, but also an exciting range of new capabilities including email services, JMS, Spring Web Flow, simplified installation and automatic Selenium support. That's on top of those many capabilities already present in the alpha releases, as mentioned in my earlier blog entry.

In addition to working on the first milestone release, over the last month we've also established the public project infrastructure typical of open source projects. We now have available a community support forum, Jira issue tracking, public Subversion repository, FishEye source monitoring and so on. Some of the comments reported on the #roo Twitter

Introduction to the OSGi Web Container

Engineering | Rob Harrop | May 27, 2009 | ...

Updated: added version control instructions for Git.

For the last few months I've been working with Subbarao Meduri, Graham Charters, Hal Hildebrand and others from the OSGi Enterprise Expert Group on the RFC66 Web Container specification. The Web Container specification defines how WAR files can be deployed on an OSGi service platform in a standard way.

This is extremely interesting for us, because dm Server has supported WAR files for nearly 18 months now and we are excited to be able to work towards a standard model. As an end user, you'll be able to deploy WAR files on OSGi without…

dm Server 2.0 M2

Engineering | Andy Wilkinson | May 19, 2009 | ...

dm Server 2.0.0.M2 has been released, and is now available for download. In the two sprints since 2.0.0.M1, we've made significant progress towards the final release, both in terms of new features, and in defect fixes. Take a look at the M2 release notes if you're interested in seeing everything that we've been working on. Please keep your feedback coming as comments on our blog, in the forums, and on JIRA.

New and noteworthy

Spring 3 support

In the milestone, we've upgraded dm Server to run on Spring 3. As we move towards the final release of dm Server 2.0, we'll be upgrading the version of Spring 3 as new milestones and snapshots become available.

Improvements to cloning

We've made some significant improvements in our support for auto-cloning. For example, you can now run Spring 2.5.6 and Spring 3-based applications side-by-side in the same dm Server.

Watched repositories

Support for watched repositories has been added. A watched repository is configured to watch a directory on your filesystem and, as artifacts are added to the directory, they will become available to dm Server's provisioning system. Equally, as artifacts are removed from the directory, they will no longer be available to dm Server's provisioning system.

Here's some example configuration for a watched repository:

"watched-repo" : {
    "type" : "watched",
    "watchDirectory" : "repository/watched",
    "watchInterval" : 5
}

Using an OSGi Profile with Bundlor

Engineering | Ben Hale | May 18, 2009 | ...

When managing and transforming as many bundles as are included in the the SpringSource Enterprise Bundle Repository, it becomes very difficult to remember what packages are boot delegated, exported from the system bundle, or from other bundles in your system. This information is important because you probably don't want to import packages that are boot delegated, you probably do want to import system bundle packages at "0", and you want to define custom imports for all others. Remembering which packages are in each of these categories ends up being a bit error prone and defining template…

Grails 1.1.1 released with Google AppEngine support

Engineering | Graeme Rocher | May 14, 2009 | ...

Today we are pleased to announce the availability of Grails 1.1.1 which whilst providing many incremental improvements over Grails 1.1 also introduces official support for Google AppEngine.

Groovy itself has been running on AppEngine since its launch, but we had to make a few tweaks here and there in Grails to make Grails applications run on AppEngine.

Included in this is the introduction of an AppEngine plugin which replaces Hibernate with JDO (and soon JPA) for persistence in order to take advantage of Google's DataStore API. The AppEngine plugin also integrates the AppEngine development…

Bundlor Version Expansion and Property Substitution

Engineering | Christopher Frost | May 12, 2009 | ...

Introduction

Recently the M3 milestone of Bundlor has been released (Forum Anouncement). This milestone adds support for Property Substitution and Version Expansion. This blog post explains how to work with these new features to improve the quality of generated Manifests.

Property Substitution

Bundlor can now be used to substitute any property value into your Manifest Template.

Bundle-Name: ${name}
Bundle-Description: Test bundle using new version of Kernel at ${com.springsource.kernel}
Import-Template: com.springsource.kernel.*;version="${com.springsource.kernel}"

This syntax allows you to specify property placeholders for ${name} and ${com.springsource.kernel} and have them substituted at runtime with actual values. The way that these values are passed in is specific to which Bundlor front end is being used.

Specifying Properties at the Command Line

When Bundlor is run from the command line it will use all the properties available as system properties, this does not include any environment variables. The command line script will pass through any variables passed in via -D so the following will provide the ${com.springsource.kernel} property with a value of '2.0.0.RELEASE' and the ${name}

SpringSource Tool Suite now free

Engineering | Christian Dupuis | May 07, 2009 | ...

It was April 27th around 2:39pm, when Rod announced in his SpringOne Europe opening keynote:

“STS will be free!"

Reto Meier, with our partner namics, took a picture as proof of that very moment and published it on flickr.com. Also the audience at SpringOne seemed to be enthusiastic about the announcement and as a consequence the word was spread to outside of the conference soon after.

So here we are, since Rod promised it, we can't get out of it… ;-)

Rod @ SpringOne

Today we are proud to deliver on Rod's promise and can announce that the first free versions of STS have been published and can be downloaded from the product page

Spring Framework 3.0 M3 released

Engineering | Juergen Hoeller | May 06, 2009 | ...

We are pleased to announce that the third Spring 3.0 milestone is available now (download page)! This release comes with many new features and refinements, including...

Reference documentation: M3 is the first Spring 3.0 milestone that comes with reference documentation, in both HTML and PDF format. Even if the documentation is still a work in progress, it does cover many 3.0 feature areas at this point already. We hope that you'll find this early cut of the documentation useful for learning more about the 3.0 milestone features.

Annotated factory methods: Spring 3.0 M3 includes the core…

SpringSource Plus Hyperic Unifies Application Lifecycle From Developer to Data Center

Engineering | Rod Johnson | May 04, 2009 | ...

A few weeks ago, I laid out SpringSource's vision for creating a unified enterprise Java solution that spans the application lifecycle. Today, we announce a significant advance in realizing that vision: SpringSource's acquisition of Hyperic, which greatly strengthens our capabilities for the management of modern applications and infrastructure.

As SpringSource has grown, like the Spring open source projects, the company has taken on a wider range of problems. Today's announcement is the logical continuation of our push into the server space, and offers the potential to further simplify the…

Jump into Roo for extreme Java productivity

Engineering | Ben Alex | May 01, 2009 | ...

Update: The second installment of the "Introducing Spring Roo" blog series is now available and includes a detailed step-by-step tutorial to help you get started with Roo. The third installment covers Roo's internal architecture in detail.

The twittersphere has been abuzz this week with news from SpringOne Europe. One announcement generating a significant amount of interest is SpringSource's new open source productivity tool, codenamed "Roo".

Roo is a sophisticated round-tripping code generator that makes it quicker and easier than you've ever imagined to create and evolve Spring applications. Even if you have reservations about code generation, it will still be worth taking a look at Roo. It contains significant innovation that addresses all major objections to code generation, whilst still delivering best practice Spring…

Get the Spring newsletter

Stay connected with the Spring newsletter

Subscribe

Get ahead

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

Learn more

Get support

Tanzu Spring 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