Ben Alex

Alumni
Blog posts by Ben Alex

What's New In Spring Roo 1.1.1

Engineering | January 11, 2011 | ...

It's our pleasure to announce the general availability of Spring Roo 1.1.1. This new release incorporates over 250 fixes and enhancements, including many performance and functionality improvements.

As always, SpringSource Tool Suite (STS) 2.5.2 will be released very shortly and incorporate this new version of Spring Roo. You can also download the standalone version of Spring Roo 1.1.1 and get started immediately.

Let's briefly tour some of the more notable enhancements we're added to Roo 1.1.1. If you're upgrading your Roo-based projects, we encourage you to review the version-specific upgrade notes we include in the reference guide. The reference guide is also included in the…

A Big Hop Forward: Spring Roo 1.1.0 Is Released!

Engineering | October 27, 2010 | ...

After more than ten months of development and nearly 900 individual improvements, Spring Roo 1.1.0 has been released (download here)! Coinciding with the Spring Roo 1.1.0 GA release, the Google Web Toolkit, SpringSource Tool Suite, AspectJ and AJDT teams have completed supporting GA releases so that you can enjoy the latest versions of these tools all working nicely together.

We've introduced so many new features in Spring Roo 1.1.0 that it's difficult to decide what to highlight. Nevertheless, let's take a brief tour over some of the goodies we've added for your Java programming pleasure.

Incremental Database Reverse Engineering

It's now possible to reverse engineer an existing relational database and automatically create Roo entities with corresponding fields. But hasn't it been possible to do that using JPA tools for a long time? Yes, absolutely. The key difference is Roo's database reverse engineering is incremental. This means that when Roo reverse engineers a database, it places all of the fields it discovers into inter-type declarations (ITDs). This is consistent with the rest of Roo, and allows Roo to easily deliver round-trip maintenance of the reverse engineered entity. In particular, you can re-introspect a database repeatedly to identify any changes while ensuring any code you've written in the .java sources is preserved. Roo will even delete entities that no longer exist (unless of course you've asked Roo not to) and Roo automatically handles complex situations like composite primary keys (complete with identifier class creation and maintenance…

Spring Roo 1.1.0.M3 Released

Engineering | August 25, 2010 | ...

Update: SpringSource Tool Suite 3.5.0.M3 is now available for download. It includes the latest Spring Roo 1.1.0.M3 and GWT 2.1.0.M3 support.

Many members of the community have been eagerly awaiting Spring Roo 1.1.0.M3, and I'm pleased to announce it is now available (download here). This release incorporates more than 150 new features, enhancements and other improvements since Milestone 2, bringing the cumulative total in the 1.1.0 milestone series to some 500 issues. Many of the improvements in Spring Roo 1.1.0.M3 reflect our continued close collaboration with the Spring Framework, Google Web Toolkit, AspectJ and SpringSource Tool Suite teams, and you can see the results in some of the major new features:
  • Incremental database reverse engineering (or DBRE as it's affectionately known around the office): This has been the most highly-voted for Jira ticket in the history of the Spring Roo project, representing around 130 separate votes. This new feature makes it possible to introspect an existing relational database and emit a series of JPA entities. However, unlike traditional database reverse engineering tools, DBRE can be re-run repeatedly on the same project without undesired side-effects (thus the term "incremental" in the feature name). All of the members that result from the introspection are stored in AspectJ ITDs, which is consistent with the rest of Roo. This keeps your .java files clutter-free and intention-revealing (just like they should be). While introspection is now working well (even for complex situations like composite primary keys and all cardinality types) and allows you to programmatically use the resulting entities in normal Java style, in Roo 1.1.0.M4 we'll be adding web tier support for introspected databases.
  • Latest Google Web Toolkit 2.1.0.M3 features: Our collaboration with GWT enables Roo to produce applications that use the newest features in GWT 2.1.0.M3 (which was also released today). One of the most highly-anticipated new features is relationship support under the RequestFactory infrastructure. You can try this out by using the "script expenses.roo" command, then "mvn gwt:run" and creating related employee objects via the GWT UI. You can read more about the new GWT 2.1.0.M3 features in the GWT blog entry.
  • Automatic JSON support, including in Spring MVC applications: All domain objects produced by Spring Roo will now include automatic JSON-related methods. These allow you to bidirectionally convert between a JSON representation and an object. We introduce these new JSON-related methods via ITDs in the normal Roo style. Roo-managed Spring MVC controllers now also automatically use these methods as well. To see this in action, use "script clinic.roo", then "mvn tomcat:run", create a new Owner via the web user interface, and then try a curl command such as curl -v -H 'Accept: application/json' -X GET http://localhost:8080/petclinic/owners/.
  • 16 social media embedding features: It's now possible to add content from 16 social media web sites to your Spring MVC-based front end with a single Roo command! This includes YouTube, Google Video, Vimeo, Viddler, Screenr, UStream, LiveStream, Flikr, Picasa, Google Presentations, Scribd, SlideShare, Google Maps, Google Wave, Twitter and Wikinvest. It's all available from the new "web mvc embed" command.
  • Library upgrades: We've updated the libraries which Roo automatically uses in projects. Some of the notable updates include shifting to Spring Framework 3.0.4 (with enhanced resource serving by the elimination of the URL rewrite filter) and Spring Web Flow 2.1.1.
  • Automatic Roo annotation JAR upgrades: Now when you upgrade to a new version of Roo, there's no need to edit your project's pom.xml to change the Roo annotation library version. Roo will take care of this automatically for you.
  • Usability enhancements: We've now added a number of new features to improve usability. One item you may notice is the new "flash message" area at the top of the screen. This displays the progress of long-running operations (you can try the "flash test" command for a quick demo). We do recommend you use Linux, Windows or iTerm (for OSX users) for the best flash message experience. Some other less visible improvements include better logging, suppport for "#" comments, tab assist for the "hint" command, a comment at the top of AspectJ ITDs to remind you not to edit them, and many others.

As always, the Spring Roo Reference Guide includes upgrade instructions for those already using Roo, as well as background reading and introductory tutorials for those interested in learning more. The reference guide can be viewed online, plus it's also included in the download ZIP. You can also learn more about Spring Roo by attending SpringOne, JavaOne, Devoxx, Google Developer Days or YOW!2010 over the next few months.

The next release of Spring Roo will be 1.1.0.M4. This will be the final milestone in the series and we expect to reach 1.1.0.RELEASE in mid-0ctober 2010. We maintain our full roadmap dates in Jira for…

Spring Roo 1.1.0.M2 Released

Engineering | July 16, 2010 | ...

I'm pleased to announce we've just released Spring Roo 1.1.0.M2 (download here). We've also concurrently released SpringSource Tool Suite 2.3.3.M2, which offers the latest integration with this new Spring Roo release. For production use we recommend you continue to use Spring Roo 1.0.2, although we know a very large number of people are happily using the Roo 1.1.0 development releases as well.

What's New?

So, what's included in the new Spring Roo 1.1.0 Milestone 2? Well, there's 140 fixes, improvements and enhancements since Milestone 1. Some of the highlights include:

More Add-On Discovery and Management Features

Spring Roo 1.1.0.M2 also features…

Spring Roo 1.1.0.M1 Released

Engineering | May 19, 2010 | ...

I'm delighted to announce that we've just released Spring Roo 1.1.0.M1. Spring Roo is the fastest way for Java developers to build Spring-based applications in the Java programming language. With the Roo 1.1.0.M1 you can build working web applications - complete with a Google Web Toolkit (GWT) front end - in as little as 200 keystrokes! Plus as usual we've concurrently released a new version of SpringSource Tool Suite (STS 2.3.3.M1) which is optimised for the latest and greatest Roo goodies!

There are over 200 fixes, enhancements and new features since our 1.0.2 release three months ago. Some…

Spring Roo 1.0.0 Released

Engineering | December 31, 2009 | ...

We're delighted to announce the general availability (GA) of Spring Roo 1.0.0.

Spring Roo is a next-generation rapid application development tool for Java developers. With Roo you can easily build full Java applications in minutes. It differs from other tools by focusing on:

  • Higher Java productivity: Try the ten minute test and see for yourself.
  • Stock-standard Java: Roo uses the Java APIs and standards you already know and trust.
  • Usable and learnable: Roo features an extremely high level of usability and an advanced shell.
  • No engineering trade-offs: Roo has no runtime portion and does not impose any CPU, RAM or disk storage cost.
  • Easy Roo removal: Roo can be easily removed from a user project in under five minutes.

This release follows some eight community releases (A1, A2, M1, M2, RC1, RC2, RC3, RC4) and extensive feedback. Before reaching Roo 1.0.0 we already had over 1,000 forum posts and some 500 Jira issues logged. There's already been dozens of conference and JUG presentations on Roo, several third-party add-ons and there's…

Exploring Roo's Architecture

Engineering | June 18, 2009 | ...

Last month we discovered how easy it is to build a fully-fledged enterprise application in just a few minutes using Spring Roo - our new productivity tool for Java developers. While many Java developers have already started evaluating Roo to help save time on their projects, I've received a lot of questions from people curious about how Roo actually works. In this blog entry I will explore Roo's architecture in depth, including its goals, alternatives prototyped, design rationale and implementation details. By the end you'll have a good understanding of what makes Roo tick and why its approach…

Getting Started with Spring Roo

Engineering | 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

Jump into Roo for extreme Java productivity

Engineering | 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…

Spring Security 2.0.1 Released

Releases | May 02, 2008 | ...

Spring Security 2.0.1 is now available.

Download | Changelog | Announcement | Web Site

Spring Security 2.0.1 provides a number of fixes to the recent 2.0.0 release. It also offers some further improvements in relation to OSGi support, extended namespace configuration, and cryptographically-strong token generation. It is entirely backward compatible with 2.0.0 and can be used as a drop-in JAR replacement.

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