The Spring Blog

News and Events

Extending Spring Social's Service Provider Framework

Last week, I introduced you to Spring Social's Service Provider "Connect" Framework and showed you how it simplifies creating connections between a user's local application account and their accounts on Software-as-a-Service (SaaS) providers. Today I want to show you how to extend the service provider framework to handle connections to providers that aren't directly supported by Spring Social.

Extending Spring Social for Netflix

Suppose that you're developing a movie review website where users can go to read and post short movie reviews. Normally, the movie reviews are displayed with the most recent entries appearing first on the home page. But if a user has connected their account to their Netflix account, then you can show them reviews for the movies in their Netflix disc queue. To pull this off, you'd like to take advantage of Spring Social's Service Provider Framework for connecting your user's accounts with their Netflix accounts. Spring Social 1.0.0.M2 doesn't include a Netflix service provider or API binding, but can be easily extended to work with providers that aren't directly supported.


This week in Spring: March 8th, 2011

This week has seen yet another flurry of exciting new releases and updates, great community content and the exciting announcement welcoming WaveMaker to the SpringSource family.

  1. Rod Johnson announced the acquisition of WaveMaker today in the SpringSource blog. WaveMaker is a widely used graphical tool that enables non-expert developers to build web applications quickly. From the post: "While WaveMaker is already part of the Spring ecosystem, it will now become an integral part of the Spring family and VMware's cloud strategy. All of WaveMaker's staff will be joining VMware." Exciting news! Be sure to check out the post for all the details.
  2. Craig Walls announced the M2 of the Spring Social project last week and this week provided a great look at the Social Service Provider framework in Spring Social. Exciting stuff, and any that wishes to interoperate with this framework - either because you want to consume a social network’s API or you want to provide a Spring Social binding for your network’s API - should definitely read this blog

  3. The Tomcat Expert community just announced that Tomcat 7.0.10 has been released. The new update includes several bug fixes and security fixes, as well as a few cool features.
  4. In the second installment of a blog tutorial introducing Spring Web Services, blogger "panbhatt" introduces JAXB and the Spring OXML (object-to-XML) marhsalling framework.
  5. Ravindra Rawat introduces a cool movie-recommendation application using Spring Data and Redis, complete with sample code on Github! This is very cool! If you're at all curious as to the power of some of the NoSQL solutions, then usable, relatable everyday applications like this one ought to assuage your curiosity!
  6. Chad Lung at the Giant Flying Saucer blog introduces a 5 minute tutorial to starting a Spring MVC project by using the free SpringSource Tool Suite. I like this blog, but I have one small complaint: I followed his steps and it only took 3 minutes! :-)
  7. had a great introduction to all the new features in Spring WebServices 2.0. It’s one thing to make a claim - in this case that Spring WS is the “Best Java Stack for SOAP-based Web Services” - but this article also provdes it

    while providing a good introduction to Spring Web Services, in general. Nice job!

  8. This post demonstrates

    how to integrate a Spring Roo Vaadin form into Magnolia CMS. Vaadin is a web framework that takes the GWT programming paradigm to its logical extreme, and can make a very compelling alternative to traditional, component-centric, server-side frameworks like JSF.

  9. While I was wading through all the Spring Data content for this week’s roundup, I discovered, in a roundabout way, that that Emil Eifrém’s amazing talk introducing Spring Data from the Oredev conference last year was up! Emil Eifrém is the CEO of Neo Technology, and the founder of the Neo4j graph database project.

  10. Moez Ben Rhouma, who also previously demonstrated integrating Spring Security with ExtJS, demonstrates how to setup Spring Security 3 with Wicket. Pretty cool!
  11. Want a look inside Apress' Spring Persistence with Hibernate book? Read this book review

Addressing a Big New Audience: VMware Acquires WaveMaker

Today, VMware announces with this blog the acquisition of WaveMaker, a widely used graphical tool that enables non-expert developers to build web applications quickly.  While WaveMaker is already part of the Spring ecosystem, it will now become an integral part of the Spring family and VMware’s cloud strategy. All of WaveMaker’s staff will be joining VMware.

This acquisition furthers VMware’s cloud application platform strategy by empowering additional developers to build and run modern applications that share information with underlying infrastructure to maximize performance, quality of service and infrastructure utilization.


Introducing Spring Social's Service Provider Framework

In my previous post, I introduced you to Spring Social's Java bindings to popular Software-as-a-Service (SaaS) APIs such as Twitter, Facebook, LinkedIn, and TripIt. In addition to providing simple, strongly-typed Java methods for common API operations, these bindings ensure each HTTP request includes the credentials required to authorize your application to invoke the API on behalf of a user.

What my first post did not address was: how do we manage the credentials required to invoke service APIs on behalf of users? I'm pleased to say that we now have answers to that question.


This week in Spring: March 1st, 2011

This week has seen yet another flurry of exciting new releases and updates and great community content. Hold on to your hats! Let's get right to it.

  1. Spring Roo 1.1.2 has been released. This new release contains over 200 enhancements, new features and fixes since the 1.1.1 release last month. Some of the highlights include enhanced tool usability, persistence enhancements, GWT and Spring MVC enhancements, and library upgrades.
  2. Martin Lippet has just announced the 2.5.2.SR1 and 2.6.0.M2 releases of SpringSource Tool Suite. The 2.5.2.SR1 "refresh" has updated support for Groovy 1.7.8, Grails 1.3.7, an update to Eclipse Helios SR2 (3.2.6), and the just-released Spring Roo 1.1.2. The 2.6.0.M2 mileston also includes a Roo plugin manager, improved support for @RequestMapping, and tons of improvements to the Groovy and Grails tooling.
  3. Martin Lippet has also put together information on the oft-asked and newly answered question: how do

    I contribute custom Project Templates in SpringSource Tool Suite?

    Have a cool project setup recipe and want to codify it and share it easily with other STS users in your company, or indeed, the community? Now you can!

  4. Continuing the series introducing Spring 3.1, Costin Leau wrote up an introduction to the caching abstraction that will let you integrate a cache like GemFire, Ehcache, basic JDK ConcurrentMap-based caches, and numerous other caches that implement the SPI with your application.

  5. A new entry in the Green Beans series is up, this one on Getting Started with Spring Integration. Check it out to learn all about how you can use Spring to solve your integration problems with Spring Integration

  6. Spring Web Flow 2.3.0 has been released. The new release features many new features: JSR 303 bean validation support, embedded flows (ie, you might imagine a modal dialog on a page with its own flow entirely unto itself - the enclosing page need not be refreshed so that the embedded flowa can continue through Ajax.), automatic propagation of flow-managed PersistenceContext to sub-flows, support for Portlet 2.0 resource requests, and much more.
  7. Spring Social 1.0.0.M2 has been released. The new milestone is packed with new features along several themes. The new release splits apart the concepts of connection and authentication from the APIs for the various software-as-a-service providers, so now you can leverage both peices together, or independantly. The new release also expands the initial support for Saas offerings, including Github. Check it out and provide feedback!
  8. Speaking of Spring Social, Craig Walls - Spring Social project lead - did a talk on developing social-ready web applications at SpringOne2GX 2010 last October. You can watch it on

  9. Blogger Matt Raible has written up a post exploring Ajax authentication using Spring Security, HTTPS and jQuery. Very cool. and detailed! Check it out!
  10. The latest release of the Spring Data Graph project, version 1.0.0.M3, supporting Neo4j has just been released. This release brings with it many new features, including an update to Neo4j-1.3.M03, AspectJ 1.6.11.M2, explicit support for detachable entities, bean vaidation, Java config simplifications, a full-featured Neo4jTemplate, and much more!
  11. Eclipse Virgo, 3.0.0.M2, is now available for download! The new release features bug fixes on top of a substantial collection of changes from the recent M01 milestone.
  12. Want to work with RESTful services, but don't want the verbose XML payload slowing down your communication? REST is just an application of HTTP, and HTTP provides us with an amazing arsenal of tried and true tools and techniques to scale HTTP based applications. One common approach is to use GZip compression. In this post, blogger Stephan Oudmaijer introduces an approach for using Spring's RestTemplate with GZIP compressed payloads to support just that use case!
  13. Sivaprasadreddy Katamreddy is at it again, this time with a good look at how to write a Spring / Hibernate application with no XML leveraging the Spring 3.0 Java configuration model. Always handy to have a recipe like this book marked for next time!

  14. Ever needed to interface with LDAP from Java? Search no further than the Spring LDAP project, which provides a clean, comprehensive facility for just that. This post on using Active Directory (AD Windows

    Server 2008) from Java and Spring LDAP provides a great introduction.

  15. There's always some great new use of the Java-based configuration mechanism in Spring 3.0. This time, blogger Jason Stillwell writes about how to use Spring Java configuration to handle injection in a public static void main() method.

SpringSource Tool Suite 2.5.2.SR1 and 2.6.0.M2 Released

Dear Spring Community,

We’re pleased to announce that we just released a service refresh for 2.5.2 as well as the second milestone build for the next release of the SpringSource Tool Suite (STS).

The service refresh for STS 2.5.2 includes:

  • Update to Spring Roo 1.1.2 (including UAA update)
  • Update to Eclipse Helios SR2 (3.6.2)
  • Some backported Spring IDE bugfixes
  • Update to Groovy 1.7.8
  • Update to Grails 1.3.7

Some highlights from the new 2.6.0.M2 milestone:

  • Update to Spring Roo 1.1.2 (including UAA update)
  • Update to Eclipse Helios SR2 (3.6.2)
  • Update to Groovy 1.7.8
  • Update to Grails 1.3.7
  • A Roo Plugin Manager
  • Improved support for @RequestMapping (including refactoring, content-assist and quickfix)
  • Tons of improvements for Groovy-Eclipse and Grails tooling

Spring Social 1.0.0.M2 Released

Dear Spring Community,

We are pleased to announce that the second milestone release of the Spring Social project is now available!

The Spring Social project allows you to integrate the APIs exposed by Software-as-a-Service (SaaS) providers such as Facebook and Twitter into your applications. The 1.0.0.M2 release includes:

  • An extensible service provider framework that greatly simplifies the process of connecting local user accounts to hosted provider accounts.
  • Full support for connecting to OAuth1 and OAuth2-based service providers from a Java/Spring web application environment.
  • The ability for your users to authenticate with your application by signing in with their Twitter or Facebook accounts.
  • Expanded service provider APIs, including more Twitter operations and initial support for GitHub and Gowalla.
  • Complete reference documentation and samples!

Spring Data Graph - Neo4j Support 1.0.0.M3 Released

Dear Spring Community,

We are pleased to announce that a new milestone release (1.0.0.M3) of the Spring Data Graph 1.0 project with Neo4j support is now available!

The primary goal of the Spring Data project is to make it easier to build Spring-powered applications that use new data access technologies such as non-relational databases, map-reduce frameworks, and cloud based data services.

The Graph Neo4j module provides integration with the Neo4j graph database.

Downloads | JavaDocs | Reference Documentation | Changelog


SpringOne 2GX 2010 Tech Talk: Developing Social-Ready Web Applications

SpringOne 2GX 2010 Tech Talk: Developing Social-Ready Web Applications
InfoQ SpringOne 2GX 2010 Spring in Action Craig Walls Developing Social-Ready Web Applications

Craig covers:

  • The types of social integration possible for your Spring applications
  • How to access social data via REST
  • How to secure social data in appropriate ways to protect your users
  • The features available in the Spring Social project to support social integration within the Spring idiom.

Once again, many thanks to InfoQ for covering SpringOne 2GX 2010 and providing this outstanding presentations to the community.