This Week in Spring - December 24th, 2013

Engineering | Josh Long | December 25, 2013 | ...

Happy holidays! Hopefully with the holiday season comes some time off, and a chance to relax and more fully catch up on fun stuff you missed during a busy year. Readers of this column will know there are many channels for developers learning about Spring, and studying the field of technologies that Spring supports. Don't forget about our SpringSource YouTube page, Twitter account, our 15-30 minute "Getting Started" guides, the blog, and of course our Facebook and Google+ pages. I personally want to go back and watch as many SpringOne2GX talks on the YouTube channel as I can.

  1. Remeber JHipster? Julien Dubois's Yeoman-powered code generator for Spring applications? Well, 0.0.6 has been released and it has no required Spring XML (and Java EE's web.xml's the last one!) and provides code-generation support for services.

Serving Static Web Content with Spring Boot

Engineering | Roy Clarkson | December 19, 2013 | ...

We made a few announcements recently about the Spring getting started guides, including that the catalog of guides have been migrated to Asciidoctor. We also added several new client-side guides illustrating how to connect to Spring services from a variety of client technologies.

In this post I want to highlight an interesting capability of Spring Boot; within many of the client-side guides we utilized Spring Boot to stand up a Tomcat instance and serve static content. In these guides we are demonstrating JavaScript client code, not Java or Groovy! If you are already familiar with Boot, then…

Spring Integration 4.0 Milestone 2 is Now Available

Releases | Gary Russell | December 18, 2013 | ...

Following the recent 3.0.0.RELEASE, we are pleased to announce that the second (first public) milestone of Spring Integration 4.0 is now available.

As mentioned in the 3.0 Release Candidate Announcement the recent Spring Integration 3.0 release is fully compatible with Spring Framework 4.0, but it does not use the spring-messaging module. This allows Spring Integration 3.0 to be used with earlier versions of Spring Framework.

The 4.0 stream from which this milestone is built replaces all the core Spring Integration messaging abstractions with those in the spring-messaging module. The reason for another major release so soon after 3.0 is based on the fact that existing applications that directly use the affected SI classes in their code will need to convert to the Spring Framework abstractions. For the most part, this just means package changes in import statements, but full details are provided in the Migration Guide

This Week in Spring (Spring 4 Edition!) - December 17th, 2013

Engineering | Josh Long | December 17, 2013 | ...

Welcome to another installment of This Week in Spring! This week, well, I'm taking some vacation :) That, of course, means that this week's roundup was even more fun for me - I got to play with the just-released Spring 4! And, to sweeten my vacation, the steady stream of new releases based on Spring 4.0 from the other Spring projects has already started!

If you're using Spring (Spring 4, Spring Boot, and anything else) and have some great new blog, video or sample project you think people should see, don't hesitate to share it with me on Twitter! Matt Raible has already made a helpful blog post: A Webapp Makeover with Spring 4 and Spring Boot where he upgrades his existing Spring 3.2.5, Spring Security 3.1.4 and Jersey 1.18 app to run Spring Framework 4 and Spring Boot.

  1. First, the BIG news! Spring CTO Adrian Colyer just announced that Spring 4 has gone GA! If you, like me, have been eagerly awaiting this all year, then don't wait a second longer! Grab those bits as soon as you can. Spring 4, of course, is the first major-version increment since Spring 3.0 back in 2009, and represents a major leap forward for application developers. Join Juergen Hoeller (and many other engineers) on January 9, 2014 for the launch webinar: Introduction to Spring Framework 4.0.
  2. Concurrent with the Spring 4 release, we've just added several new guides to the insanely popular Getting Started guides collection. Among the new guides, you'll find help on CORS, jQuery-, Sencha-, Angular.js-integration, and much more!
  3. Rob Winch followed very shortly after, announcing that Spring Security 3.2.0 RELEASE is available! Now, I'm going to finally update the code to my talk on using Spring's REST stack, along with Spring Security and Spring Security OAuth, to the new revision! Join Rob on January 16th, 2014 for a talk focused on the new release of Spring Security 3.2.
  4. Once Spring 4 was released, Spring Integration lead Gary Russell wasted no time in getting the long-awaited Spring Integration 3.0 out the door! This new release features many new improvements, which were mostly covered in the release candidate announcement.
  5. Projects lead Martin Lippert has just announced that Spring Tool Suite and Groovy/Grails Tool Suite 3.5.0.M1 are now available. This update revs to Groovy 2.2, Grails 2.3.4, and tc Server 2.9.4, and advanced content-assist for Spring Boot projects, improved dashboard feeds, and support for the new client-side getting started guides. This cut builds on Eclipse Kepler SR1. Check it out!
  6. Spring Data project lead Oliver Gierke has just announced the latest Spring Data release train, Spring Data Babbage SR2, has just been released. The service release bundles a bunch of important enhancements and bug fixes and is a recommended upgrade. You can find all issues fixed in this release in our JIRA
  7. Spring ninja Greg Turnquist put together a very nice look at the aforementioned Getting Started guides' migration to Asciidotor, behind the scenes.
  8. Spring ninja and Boot co-lead Phil Webb and I did a talk, Improving Your Java Configuration Muscle Memory, for SpringOne2GX 2013, which is now available as a replay on our YouTube channel. Check it out!
  9. Patrick Grimard's written a post introducing how to setup a Spring MVC interceptor to handle CORS requests. For more details on the subject of CORS, check out our Understanding CORS page, and then check out our new Getting Started guide which shows a Servlet Filter-centric alternative approach to basically do the same thing. This builds on Spring Boot, and uses a Filter instead of an interceptor, but the effect is the same.
  10. Our pal Bozhidar Bozhanov has written a great post all about web sockets, which of course work great with Spring 4!, complete with slides and codes! Be sure to check it out! This post uses a more low level approach to websockets, which Spring also supports, where all messages get funneled through one handler. Me personally, I like using the higher level STOMP support to avoid having to funnel all requests through the same handler, and then picking each request apart with a switch statement. Either way, this is a great post and - because it's lower level - gives you a better understanding of what's happening underneath the hood. Check it out!
  11. With a new release comes updated Maven artifacts. Last week, I mentioned that Spring 4 now features a very handy bill of materials Maven pom.xml. You should use that to simplify things. Additionally, if you're a BinTray user, be aware that the new release is already available there, as well.

Webinar Replay: Reactor goes GA

News | Chloe Jackson | December 17, 2013 | ...

Speaker: Jon Brisbin


Reactor is a succinct and powerful foundational library for building reactive, fastdata applications on the JVM. Although it is part of the Spring IO platform, the core Reactor libraries have no dependency on Spring. Above the core library, there's direct support for the Disruptor via the high-speed Processor abstraction which provides a Reactor API over the RingBuffer, first-class support for the high-performance JavaChronicle persistent message-passing library through the flexible PersistentQueue abstraction, first-class support for Groovy closures and @CompileStatic, high-performance TCP client and server support based on Netty 4.0, powerful annotation-based Spring support, and much more. Join Jon Brisbin at the event to get introduced to the first major GA release of Reactor, and learn how Reactor's Promise and Stream APIs are used to wrangle the inherent complexity of asynchronous, event-driven application code.

!{iframe width="420" height="315" src="//" frameborder="0" allowfullscreen}{/iframe}

Getting Started with Client-Side Development in Spring

Engineering | Craig Walls | December 17, 2013 | ...

Dear Spring Community,

At SpringOne, we launched a brand new Spring web site, including a collection of Getting Started Guides. These quick-hit guides are proving very popular as they get right to the point on how to use Spring to address several common tasks such as caching, messaging, and integration.

We are very pleased to announce the addition of several new Getting Started Guides that present Spring as providing services that back rich and mobile clients developed in Backbone, AngularJS, iOS, and other client-side frameworks and platforms. These guides include:

Spring Security 3.2.0.RELEASE Released

Releases | Rob Winch | December 16, 2013 | ...

I am pleased to announce the release of Spring Security 3.2.0.RELEASE. You can view the highlights of this release within the What’s new in Spring Security 3.2 section of the reference. A list of changes since 3.1.x and since the last release can be found within JIRA's change logs.

To learn more about Spring Security 3.2, I'd like to encourage you to view the new Spring Security guides and to attend the free Spring Security 3.2 Webniar on January 16th.

Please consider helping us spread the word on Twitter, ask questions on Stackoverflow with the spring-security tag and log any issues to the Spring Security JIRA

SpringOne2GX 2013 Replay: Building Your Java Configuration Muscle Memory

News | Chloe Jackson | December 13, 2013 | ...

Recorded at SpringOne2GX 2013 in Santa Clara, CA

Speakers: Phil Webb and Josh Long

Using a module that provides a Spring XML namespace and integration API is muscle memory for most people: add the .xsd to the imported XML schemas for the configuration file, maybe enable a annotation-driven variant if it's available, autocomplete some XML stanzas, and then you're set! But what about Java configuration? Java configuration has been around in some form since at least 2005. It was merged into the core framework in 2009 and since then we've seen a slew of new Java configuration-powered DSLs pop up. 2013, in particular, has seen alpha-or-better cuts of Java configuration support for Spring MVC, Spring Security (and Spring Security OAuth), Spring Batch, Spring Social, Spring Data (including all the modules under it: REST, MongoDB, JPA, Neo4j, Redis, etc), Spring HATEOAS, and more all provide milestone-or-better cuts of a Java configuration integration. Tomcat 7 (and all Servlet 3-compatible containers) offer a programmatic alternative to web.xml. This provides another great integration hook for modules that wish to integrate with the web container, removing the configuration burden from the user. There's a lot of power here and it's easy to get started if you know what to look for. In this talk, join Spring Developer Advocate Josh Long and Spring-core commmitter, all-around nice guy, and Spring Boot ninja Phil Webb as they introduce the Java configuration support in the various Spring projects, show how to approach them when integrating them into your code, and - if the situation demands - how to write your own Java configuration DSL. Learn more about JavaConfig at

Learn more about Java Configuration and Spring at

Learn more about Spring Guides at

!{iframe width="420" height="315" src="//" frameborder="0" allowfullscreen}{/iframe}

Spring's Getting Started Guides migrated to Asciidoctor

Engineering | Greg L. Turnquist | December 13, 2013 | ...

"If Markdown is a 1st-grader, then AsciiDoc is a PhD student."[sic] -- Dan Allen, project lead of AsciiDoctor

We recently migrated all of our Getting Started Guides to Asciidoctor. Why? Because Asciidoctor provides so many valuable features!

  • Several built in directives make it possible to pull in entire code files, small fragments of code, and external chunks of reusable content.
  • Rendering is now embedded into's website.
  • No need to "generate" the guide, which always puts you at risk of being out of sync with the code, the build files, and the document itself.
  • Lines up with how many of our projects are migrating away from DocBook towards AsciiDoctor to reduce maintenance.

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