Spring Roo

Releases | Chloe Jackson | September 12, 2011 | ...

Instant Results - Making Java Fun

Spring Roo is a lightweight developer tool that makes it fast and easy to deliver instant results. Best of all, you code 100% in Java and get to reuse all your existing Java knowledge, skills and experience. You'll like it - and have plenty of fun too! Read how TomTom cut development time in half using Spring Roo.

Download the book by Josh Long and Steve Mayzak called Getting Started with Roo. You can also purchase it as a print-on-demand book or in alternative formats from the O'Reilly web site.

Ken Rimple and Srini Penchikala have also written the definitive Roo reference book called Spring Roo in Action available for purchase from Manning Publications.

Exciting Features - GWT. Solr. Cloud. Flex...

MVC applications with JPA are a breeze with Roo, but it also eases your journey into the next generation of technology. We already support cool features like Google Web Toolkit (GWT) for advanced next-generation user interfaces, Solr for search server integration and cloud deployment like Google App Engine. Plus we have incremental database introspection, Flex, Spring Integration and much more actively in development.

SpringSource and Google are working together to combine the speed of development of Spring Roo with the power of the Google Web Toolkit (GWT) to build rich browser apps. Try out the exciting GWT and Google App Engine support now available from Spring Roo 1.1.

Zero Risks - Productivity Without Compromise

With Roo you still program everything in Java. Its innovative approach operates entirely at compile-time and is completely compatible with your IDE. Plus because there's no runtime portion, adoption is also simplified and low risk. All your Java developers will feel comfortable and be productive from day one. Roo really represents productivity without compromise.



Why Spring Roo?

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 productivity tools by focusing on:

Technology Integrations

 

Roo gives you easy and immediate access to all of the mainstream Java technologies important to building sophisticated enterprise applications. Here's just some of the technologies that Roo-based projects can instantly leverage (plus there's plenty more supported by third-party add-ons, or you can write your own add-on):

  • Adobe Flex
  • Apache ActiveMQ
  • Apache Maven
  • Apache OpenJPA
  • Apache Tiles
  • Apache Tomcat
  • AspectJ
  • AspectJ Development Tools
  • Cloud computing
  • Dojo Toolkit
  • Eclipse IDE
  • EclipseLink
  • Google Web Toolkit
  • Google App Engine
  • Hibernate
  • Java 5+
  • Java Bean Validation
  • Java Database Connectivity
  • Java Message Service
  • Java Persistence API
  • Java Transaction API
  • Java Server Pages
  • Jetty
  • JUnit
  • Log4J
  • Representational State Transfer (REST)
  • Selenium
  • OSGi add-ons
  • Solr search
  • SpringSource tc Server with Insight
  • SpringSource Tool Suite
  • Spring Integration
  • Spring Framework
  • Spring Security
  • Spring Web Flow
  • URL Rewrite Filter
  • Web application resource (WAR) packaging
  • Write Your Own Add-Ons

Productivity Without Compromise

Roo's innovative approach is free of any compromises:

  • Program in Java!
  • Full IDE support (with features like code assist, refactoring and debugging)
  • No runtime portion, which means easier adoption in enterprise with approval requirements
  • Excellent runtime performance, as there's no runtime memory usage, deployment footprint, control flow invocation time etc
  • Lower risk of bugs impacting your project, as Roo operates entirely at development time (just like your IDE)
  • No lock-in to Roo, as you can remove it from your project in just minutes
  • Easy extensibility to new features thanks to OSGi-based add-on extensibility
  • We could go on, but you get the point: Roo doesn't make you compromise (ever) :-)

How It Works

In a nutshell, Roo is a lightweight console shell that you load up while developing your projects. While the Roo shell can be used to complete time-consuming operations in just one quick command, most of the time you'll just ignore Roo and go off and develop your project in your IDE or text editor.

 

As you go about editing code in your normal way, Roo keeps an eye on your project files and automatically modifies them in response to your actions. Depending on the Roo add-ons you have running, Roo can help you with different types of files. For example, Roo's JPA add-on means you can write an incredibly simple Hello.java file that looks like this:

@RooJpaActiveRecord public class Hello { private String world; }

You might wondering what good is a Java class that only has a single private field. Well, not much. But Roo fixes that by using the compiler's "mixins" feature to add extra goodies into the .class files at compile-time (not runtime). This means the Hello.class actually contains a large number of useful members, none of which you had to go to the trouble of writing - or maintaining, debugging and testing - yourself:

public class Hello { private String world {..} public String getWorld() {..} public void setWorld(String world) {..} public Long getId() {..} public void setId(Long id) {..} public Integer getVersion() {..} public void setVersion(Integer version) {..} public String toString() {..} public void persist() {..} public void remove() {..} public void flush() {..} public static Long countHellos() {..} public static Hello findHello(Long id) {..} public static List findAllHellos() {..} public static List findHelloEntries(int start, int…

Spring Security OAuth

News | Chloe Jackson | September 12, 2011 | ...

Welcome

Welcome to OAuth for Spring Security!

As you can probably deduce from its name, the purpose of this project is to provide an OAuth implementation for Spring Security. Support is provided for the implementation of OAuth providers and OAuth consumers. There is also support for two-legged OAuth (a.k.a. "Signed Fetch") and for OAuth 2.0.

Applying security to an application is not for the faint of heart, and OAuth is no exception. Before you get started, you're going to want to make sure you understand OAuth and the problem it's designed to address. There is good documentation at the OAuth site and a good illustration of how OAuth is applied. You will also want to make sure you understand how Spring and Spring Security work.

With that, you're ready to get started. You'll want to see OAuth for Spring Security in action and read a more detailed explanation in the user guide.

If you run into problems or have other questions, please use the forum.

 

Maven Artifacts

Here is the Spring Milestone Repository:

<repository>
<id>spring-milestone</id>
<name>Spring Maven MILESTONE Repository</name>
<url>http://maven.springframework.org/milestone</url>
</repository>

Here is the dependency:

<dependency>
<groupId>org.springframework.security.oauth</groupId>
<artifactId>spring-security-oauth</artifactId>
<version>1.0.0.M4</version>
</dependency>

 

Spring Social 1.0.0 Released

Releases | Craig Walls | September 08, 2011 | ...

Dear Spring Community,

We are pleased to announce general availability of Spring Social 1.0!

Spring Social is an extension of the Spring Framework that enables you to connect your Java applications to Software-as-a-Service (SaaS) providers such as Facebook and Twitter.

The big 1.0 release includes fixes for all bugs reported since 1.0.0.RC3. See the change log for all the details (Core | Facebook | Twitter)

To get the software, download the release distribution (Core | Facebook | Twitter) or simply add the maven artifacts to your project. To see it live, try out the quickstart and fire up the samples. Supplement as you go with information from the reference manual.

Spring Social requires Spring Framework 3.0.5 or > to run. We recommend Spring 3.1 for new applications to take advantage of the latest advances in the core framework. See the reference manual for a full description of dependencies.

It has been an awesome year leading up to this release. We are thankful for all of the community involvement that has helped make this a useful, quality project. Special thanks go to Matt Wright, Morton Andersen-Gott, Stefan Fussenegger, Bryce Fischer, Gabriel Axel, Marc Schipperheyn, Domingo Suarez, Gordon Dickens, Arjen Poutsma, and Juergen Hoeller for their support. I've taken the opportunity to reflect on our work in the last year at our team blog.

Join me for the webinar that I'll be hosting on September 29th.

We hope you enjoy using Spring Social!

Spring Social 1.0: What a Year Makes

Engineering | Craig Walls | September 08, 2011 | ...

Show of hands: Who’s on Facebook? Any Twitter users reading this?

Almost everyone I know is on Facebook, Twitter, LinkedIn, or some other social network site. In fact, most people I know maintain a presence on multiple social network sites. According to recent numbers thrown about, Facebook has over 750 million users and Twitter has over 200 million users. Even my mom is on Facebook.

Okay, you can put your hands down now.

With such a large audience, it can be easy to find business-led motives for building applications that target those users. From a more personal, individual perspective…

Spring Data JPA 1.0.1 and 1.1.0.M1 released

News | Oliver Drotbohm | September 06, 2011 | ...

Dear Spring Community,

On the heels of the Spring Data MongoDB 1.0.0.M4 release I'd like to announce the availability of Spring Data JPA 1.0.1 and 1.1.0.M1. The point release contains a variety of bugfixes listed in the changelog. The first milestone of the 1.1 train contains these bug fixes as well of course, adds IgnoreCase as keyword for the query parser and allows users to use that version alongside Spring Data MongoDB 1.0.0.M4 as they both refer to the same version of Spring Data Commons.

Beyond that we ship a ton of bug fixes and improvements mostly around the mapping subsystem and performance. For a detailed list of tickets fixed have a look at the changelog

Spring Data MongoDB 1.0.0 M4 released

News | Oliver Drotbohm | September 02, 2011 | ...

Dear Spring Community,

I am pleased to announce the availability of Spring Data MongoDB 1.0.0 M4. Here are the most important features added:

  • Support for map-reduce operations in MongoTemplate
  • Provided means to use externalized queries to be executed by repositories
  • Support for geoNear queries on MongoTemplate and the repositories
  • New DocumentCallbackHandler interface on MongoTemplate
  • A DB wide WriteConcern can now be configured on the SimpleDbFactory
  • A WriteConcern configurable on MongoFactoryBean
  • Added a QuerydslRepositorySupport base class to ease implementing Querydsl based repositories
  • Configurable TypeMapper interface to control how type information is written and retrieved to and from Mongo documents

Beyond that we ship a ton of bug fixes and improvements mostly around the mapping subsystem and performance. For a detailed list of tickets fixed have a look at the changelog.

Downloads | JavaDocs | Reference Documentation | Changelog

To learn more about the project, visit the Spring Data MongoDB Page. Looking forward to your feedback on the forum or in the issue tracker.

Save $200 on SpringOne 2GX 2011 Registration

Releases | Adam Fitzgerald | September 02, 2011 | ...

Register for SpringOne 2GX 2011

There are less than two weeks to save $200 off the registration for SpringOne 2GX 2011! SpringOne 2GX is a one-of-a-kind conference for application developers, solution architects, web operations and IT teams who develop business applications, create multi-device aware web applications, design cloud architectures, and manage high performance infrastructure. The sessions are specifically tailored for developers using the Spring technologies, Groovy & Grails, and Tomcat. The recent releases of Platform as a Service solutions from multiple vendors (including VMware's Cloud Foundry technology) will be a central focus of many of the technical sessions and will provide developers with the optimal blueprints for the cloud. Whether you're building and running mission-critical business applications or designing the next killer cloud application, SpringOne 2GX will keep you up to date with the latest enterprise technology.

Be sure to register today to lock in this $200 discount.

This week in Spring: August 30th, 2011

Engineering | Josh Long | August 31, 2011 | ...

Welcome to another edition of "This Week in Spring" There's a lot to get to, so we'll get to it. A quick note: if you're at VMworld 2011 in sunny Las Vegas, come on over to the Cloud Application Platform booth and say hi.

  1. What a week for CloudFoundry! The week saw the release and availability of Micro Cloud Foundry, the freely downloadable "PaaS-on-a-stick." Micro Cloud Foundry is a complete, local version of the popular, open source Platform as a Service that lets developers run a full featured cloud on their Mac or PC. Using Micro Cloud Foundry developers can build end-to-end cloud applications locally, without the hassles of configuring middleware while preserving the choice of where to deploy and the ability to scale their applications without changing a line of code.

    To learn more about the Micro Cloud Foundry, check out these three blog posts introducing Micro Cloud Foundry to Spring developers and Grails developers, and introducing the support for Micro CloudFoundry in SpringSource Tool Suite.

    	</li> 
    	
    	<LI>Thomas Risberg blogged today about <A HREF="http://blog.springsource.com/2011/08/30/using-postgres-on-cloud-foundry/">using PostgreSQL on Cloud Foundry</a>. The recently announced  PostgreSQL support   makes CloudFoundry the natural place to deploy your enterprise applications: between MySQL and PostgreSQL there's very likely few speed or feature…

Using Postgres on Cloud Foundry

Engineering | Thomas Risberg | August 30, 2011 | ...

When the new open source Platform-as-a-Service (PaaS) offering Cloud Foundry from VMware launched earlier this year, it included a relational database service powered by MySQL along with the NOSQL options of MongoDB and Redis. One of the promises of the Open PaaS is to provide choice both in languages and frameworks you can develop with and in the database services that are available to use. We now have a new relational database service using PostgreSQL available. This is great since we can now choose between the two most popular open source relational databases. PostgreSQL is is a very…

RabbitMQ: Enabling Grails full text search on Cloud Foundry

Engineering | Peter Ledbrook | August 29, 2011 | ...

In my second blog about Grails and Cloud Foundry I introduced a variant of the Grails Twitter example that could be hosted on CloudFoundry.com At the time I mentioned that full text search using the Searchable plugin would limit you to a single application instance because the search indices would be unique to each instance. In other words, you might very easily get different search results depending on which application instance your browser is routed to.

I also said that one option for fixing this problem would be to synchronise the search indices across the instances. But that doesn't sound…

Get the Spring newsletter

Thank you for your interest. Someone will get back to you shortly.

Get ahead

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

Learn more

Get support

Tanzu 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