Spring project infrastructure updates
Introduction Over the last year a number of significant changes have been made to the infrastructure and processes we use to keep the Spring family of projects running smoothly. You may have seen individual announcements about some of these as they happened, while others may have slipped under your radar. I'll recap these changes below. Read more…
Spring Framework moves to GitHub
Today we're happy to announce that the Spring Framework has moved to GitHub! As you've probably noticed, nearly every other Spring project has already made the move, and those that haven't will soon. Git helps us with many of the challenges of managing a large codebase like the Spring Framework, but what's most exciting is Read more…
Spring 3.1 M2: Configuration Enhancements
As Juergen mentioned in his post yesterday, and as I've mentioned in my previous posts on 3.1 M1, one of the major themes of Spring 3.1 is completing our vision for code-based configuration in Spring. We think a modern enterprise Java application should have a choice between Java and XML as first class options for Read more…
Spring 3.1 M1: Introducing FeatureSpecification support
UPDATE: The FeatureSpecification functionality described in this blog post was removed in Spring Framework 3.1 M2 in favor of @Enable* annotations. See the 3.1 M2 announcement for more information. Introduction Earlier in this series I touched on how the new @Profile annotation can be used in conjunction with @Configuration classes to take advantage of Spring's Read more…
Spring 3.1 M1: Unified Property Management
In the first two posts of this series, I described the bean definition profiles feature, and how it relates to the Environment abstraction new in Spring 3.1 M1. Today we'll take a look at a second aspect of the Environment — how it helps simplify the concern of configuration property management. Understanding property sources Spring's Read more…
Spring 3.1 M1: Introducing @Profile
Introduction In my earlier post announcing Spring 3.1 M1, I discussed the new bean definition profiles feature as applied when using Spring <beans/> XML to configure the container. Today we'll introduce the new @Profile annotation and see how this same feature can be applied when using @Configuration classes instead of XML. Along the way we'll Read more…
Spring Framework 3.1 M1 released
The first milestone release of Spring 3.1 has just been published [1], and this article kicks off a series of posts where I and other team members will walk through each of the major features. Even in the first milestone there's already a lot to talk about! Bean definition profiles Unified property management through Spring's Read more…
Configuration Simplifications in Spring 3.0
Second in a series of posts on "Spring 3 Simplifications" started yesterday by Keith, I'd like to provide a very brief and hands-on introduction to Spring's new @Configuration annotation and related support. As those that followed the Spring JavaConfig project will know, a @Configuration-annotated class serves much the same role as a Spring XML file. Read more…
Building Spring 3
UPDATE – Feb 21 '12: Spring Framework has moved to GitHub, and for 3.2.x development has moved from Ant to Gradle. Take a look at the building from source section of the README there for (greatly simplified!) instructions. Introduction As Juergen announced last week, Spring 3.0 Milestone 2 is now available. In this post, I'll Read more…
Spring Java Configuration – What's New in M3
Today marks the third milestone release of the Spring Java Configuration project (JavaConfig for short). The release contains numerous bug fixes and new features – I'll highlight a few of the most interesting changes below, but first let me give a quick refresher as to what JavaConfig is all about. If you have any experience Read more…

